Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
S
SiEn
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
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
hewei
SiEn
Commits
36121f3e
Commit
36121f3e
authored
Sep 29, 2020
by
giaogiao
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
短信验证码; shiro获取当前用户id; 增加app注册登陆
parent
57fea55b
Expand all
Show whitespace changes
Inline
Side-by-side
Showing
32 changed files
with
407 additions
and
112 deletions
+407
-112
README-zh.md
+0
-0
README.md
+0
-0
api-app/src/main/java/com/jumeirah/api/app/controller/AppSmsController.java
+46
-0
api-app/src/main/java/com/jumeirah/api/app/controller/AppUserController.java
+15
-19
api-app/src/main/java/com/jumeirah/api/app/service/AppSmsService.java
+12
-0
api-app/src/main/java/com/jumeirah/api/app/service/impl/AppSmsServiceImpl.java
+60
-0
api-app/src/main/java/com/jumeirah/api/app/vo/RedisSmsCode.java
+14
-0
api-app/src/main/java/com/jumeirah/api/app/vo/SmsCode.java
+11
-0
common/src/main/java/com/jumeirah/common/convert/SysUserConvert.java
+3
-3
common/src/main/java/com/jumeirah/common/param/app/AppLoginParam.java
+42
-0
common/src/main/java/com/jumeirah/common/param/app/AppSmsRegisterParam.java
+46
-0
common/src/main/java/com/jumeirah/common/service/AppUserService.java
+4
-4
common/src/main/java/com/jumeirah/common/service/impl/AppUserServiceImpl.java
+21
-23
common/src/main/java/com/jumeirah/common/service/impl/MerchantUserServiceImpl.java
+2
-2
common/src/main/java/com/jumeirah/common/service/impl/SysLoginServiceImpl.java
+2
-2
common/src/main/java/com/jumeirah/common/vo/LoginSysUserTokenVo.java
+2
-2
common/src/main/java/com/jumeirah/common/vo/app/LoginAppUserTokenVo.java
+52
-0
config/src/main/resources/config/application.yml
+4
-1
framework/src/main/java/io/geekidea/springbootplus/framework/shiro/cache/AppLoginRedisService.java
+5
-5
framework/src/main/java/io/geekidea/springbootplus/framework/shiro/cache/MerchantLoginRedisService.java
+5
-5
framework/src/main/java/io/geekidea/springbootplus/framework/shiro/cache/SysLoginRedisService.java
+5
-5
framework/src/main/java/io/geekidea/springbootplus/framework/shiro/cache/impl/AppLoginRedisServiceImpl.java
+10
-9
framework/src/main/java/io/geekidea/springbootplus/framework/shiro/cache/impl/MerchantLoginRedisServiceImpl.java
+10
-9
framework/src/main/java/io/geekidea/springbootplus/framework/shiro/cache/impl/SysLoginRedisServiceImpl.java
+10
-9
framework/src/main/java/io/geekidea/springbootplus/framework/shiro/convert/LoginSysUserVoConvert.java
+3
-3
framework/src/main/java/io/geekidea/springbootplus/framework/shiro/jwt/JwtToken.java
+6
-0
framework/src/main/java/io/geekidea/springbootplus/framework/shiro/jwt/realm/JwtRealmMerchant.java
+2
-2
framework/src/main/java/io/geekidea/springbootplus/framework/shiro/jwt/realm/JwtRealmSystem.java
+2
-2
framework/src/main/java/io/geekidea/springbootplus/framework/shiro/vo/JwtTokenRedisVo.java
+6
-0
framework/src/main/java/io/geekidea/springbootplus/framework/shiro/vo/LoginUserRedisVo.java
+1
-1
framework/src/main/java/io/geekidea/springbootplus/framework/shiro/vo/LoginUserVo.java
+1
-1
framework/src/main/java/io/geekidea/springbootplus/framework/util/LoginUtil.java
+5
-5
No files found.
README-zh.md
View file @
36121f3e
This diff is collapsed.
Click to expand it.
README.md
View file @
36121f3e
This diff is collapsed.
Click to expand it.
api-app/src/main/java/com/jumeirah/api/app/controller/AppSmsController.java
0 → 100644
View file @
36121f3e
package
com
.
jumeirah
.
api
.
app
.
controller
;
import
com.jumeirah.api.app.service.AppSmsService
;
import
com.jumeirah.api.app.vo.SmsCode
;
import
io.geekidea.springbootplus.framework.common.api.ApiResult
;
import
io.geekidea.springbootplus.framework.common.controller.BaseController
;
import
io.geekidea.springbootplus.framework.log.annotation.OperationLog
;
import
io.geekidea.springbootplus.framework.log.enums.OperationLogType
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.ApiOperation
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.web.bind.annotation.GetMapping
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RequestParam
;
import
org.springframework.web.bind.annotation.RestController
;
/**
* APP用户 控制器
*
* @author wei
* @since 2020-09-23
*/
@Slf4j
@RestController
//@Module("api-app")
@Api
(
value
=
"短信验证码"
,
tags
=
{
"APP短信验证码相关"
})
@RequestMapping
(
"/app/sms/"
)
public
class
AppSmsController
extends
BaseController
{
@Autowired
private
AppSmsService
appSmsService
;
/**
* 获取注册验证码
*/
@GetMapping
(
"/register"
)
@OperationLog
(
name
=
"获取注册验证码"
,
type
=
OperationLogType
.
INFO
)
@ApiOperation
(
value
=
"获取注册验证码"
,
response
=
SmsCode
.
class
,
notes
=
"本地环境默认666666"
)
public
ApiResult
<
SmsCode
>
register
(
@RequestParam
String
area
,
@RequestParam
String
number
)
throws
Exception
{
return
appSmsService
.
registerType
(
area
,
number
);
}
}
api-app/src/main/java/com/jumeirah/api/app/controller/AppUserController.java
View file @
36121f3e
...
@@ -3,21 +3,23 @@ package com.jumeirah.api.app.controller;
...
@@ -3,21 +3,23 @@ package com.jumeirah.api.app.controller;
import
com.jumeirah.common.entity.AppUser
;
import
com.jumeirah.common.entity.AppUser
;
import
com.jumeirah.common.param.AppUserPageParam
;
import
com.jumeirah.common.param.AppUserPageParam
;
import
com.jumeirah.common.param.LoginParam
;
import
com.jumeirah.common.param.LoginParam
;
import
com.jumeirah.common.param.RegisterParam
;
import
com.jumeirah.common.param.
app.AppSms
RegisterParam
;
import
com.jumeirah.common.service.AppUserService
;
import
com.jumeirah.common.service.AppUserService
;
import
com.jumeirah.common.vo.AppUserQueryVo
;
import
com.jumeirah.common.vo.AppUserQueryVo
;
import
com.jumeirah.common.vo.LoginSysUserTokenVo
;
import
com.jumeirah.common.vo.LoginSysUserTokenVo
;
import
com.jumeirah.common.vo.app.LoginAppUserTokenVo
;
import
io.geekidea.springbootplus.framework.common.api.ApiResult
;
import
io.geekidea.springbootplus.framework.common.api.ApiResult
;
import
io.geekidea.springbootplus.framework.common.controller.BaseController
;
import
io.geekidea.springbootplus.framework.common.controller.BaseController
;
import
io.geekidea.springbootplus.framework.core.pagination.Paging
;
import
io.geekidea.springbootplus.framework.core.pagination.Paging
;
import
io.geekidea.springbootplus.framework.core.validator.groups.Add
;
import
io.geekidea.springbootplus.framework.core.validator.groups.Add
;
import
io.geekidea.springbootplus.framework.core.validator.groups.Update
;
import
io.geekidea.springbootplus.framework.core.validator.groups.Update
;
import
io.geekidea.springbootplus.framework.log.annotation.Module
;
import
io.geekidea.springbootplus.framework.log.annotation.OperationLog
;
import
io.geekidea.springbootplus.framework.log.annotation.OperationLog
;
import
io.geekidea.springbootplus.framework.log.annotation.OperationLogIgnore
;
import
io.geekidea.springbootplus.framework.log.enums.OperationLogType
;
import
io.geekidea.springbootplus.framework.log.enums.OperationLogType
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.ApiOperation
;
import
io.swagger.annotations.ApiOperation
;
import
lombok.extern.slf4j.Slf4j
;
import
lombok.extern.slf4j.Slf4j
;
import
org.apache.shiro.authz.annotation.RequiresRoles
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.validation.annotation.Validated
;
import
org.springframework.validation.annotation.Validated
;
import
org.springframework.web.bind.annotation.GetMapping
;
import
org.springframework.web.bind.annotation.GetMapping
;
...
@@ -28,8 +30,6 @@ import org.springframework.web.bind.annotation.RequestHeader;
...
@@ -28,8 +30,6 @@ import org.springframework.web.bind.annotation.RequestHeader;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RestController
;
import
org.springframework.web.bind.annotation.RestController
;
import
javax.servlet.http.HttpServletResponse
;
/**
/**
* APP用户 控制器
* APP用户 控制器
*
*
...
@@ -38,7 +38,7 @@ import javax.servlet.http.HttpServletResponse;
...
@@ -38,7 +38,7 @@ import javax.servlet.http.HttpServletResponse;
*/
*/
@Slf4j
@Slf4j
@RestController
@RestController
//
@Module("api-app")
@Module
(
"api-app"
)
@Api
(
value
=
"用户API"
,
tags
=
{
"APP用户相关"
})
@Api
(
value
=
"用户API"
,
tags
=
{
"APP用户相关"
})
@RequestMapping
(
"/app/user/"
)
@RequestMapping
(
"/app/user/"
)
public
class
AppUserController
extends
BaseController
{
public
class
AppUserController
extends
BaseController
{
...
@@ -52,6 +52,7 @@ public class AppUserController extends BaseController {
...
@@ -52,6 +52,7 @@ public class AppUserController extends BaseController {
@PostMapping
(
"/add"
)
@PostMapping
(
"/add"
)
@OperationLog
(
name
=
"添加APP用户"
,
type
=
OperationLogType
.
ADD
)
@OperationLog
(
name
=
"添加APP用户"
,
type
=
OperationLogType
.
ADD
)
@ApiOperation
(
value
=
"添加APP用户"
,
response
=
ApiResult
.
class
)
@ApiOperation
(
value
=
"添加APP用户"
,
response
=
ApiResult
.
class
)
@RequiresRoles
(
"sys:admin"
)
public
ApiResult
<
Boolean
>
addAppUser
(
@Validated
(
Add
.
class
)
@RequestBody
AppUser
appUser
)
throws
Exception
{
public
ApiResult
<
Boolean
>
addAppUser
(
@Validated
(
Add
.
class
)
@RequestBody
AppUser
appUser
)
throws
Exception
{
boolean
flag
=
appUserService
.
saveAppUser
(
appUser
);
boolean
flag
=
appUserService
.
saveAppUser
(
appUser
);
return
ApiResult
.
result
(
flag
);
return
ApiResult
.
result
(
flag
);
...
@@ -63,6 +64,7 @@ public class AppUserController extends BaseController {
...
@@ -63,6 +64,7 @@ public class AppUserController extends BaseController {
@PostMapping
(
"/update"
)
@PostMapping
(
"/update"
)
@OperationLog
(
name
=
"修改APP用户"
,
type
=
OperationLogType
.
UPDATE
)
@OperationLog
(
name
=
"修改APP用户"
,
type
=
OperationLogType
.
UPDATE
)
@ApiOperation
(
value
=
"修改APP用户"
,
response
=
ApiResult
.
class
)
@ApiOperation
(
value
=
"修改APP用户"
,
response
=
ApiResult
.
class
)
@RequiresRoles
(
"sys:admin"
)
public
ApiResult
<
Boolean
>
updateAppUser
(
@Validated
(
Update
.
class
)
@RequestBody
AppUser
appUser
)
throws
Exception
{
public
ApiResult
<
Boolean
>
updateAppUser
(
@Validated
(
Update
.
class
)
@RequestBody
AppUser
appUser
)
throws
Exception
{
boolean
flag
=
appUserService
.
updateAppUser
(
appUser
);
boolean
flag
=
appUserService
.
updateAppUser
(
appUser
);
return
ApiResult
.
result
(
flag
);
return
ApiResult
.
result
(
flag
);
...
@@ -74,6 +76,7 @@ public class AppUserController extends BaseController {
...
@@ -74,6 +76,7 @@ public class AppUserController extends BaseController {
@PostMapping
(
"/delete/{id}"
)
@PostMapping
(
"/delete/{id}"
)
@OperationLog
(
name
=
"删除APP用户"
,
type
=
OperationLogType
.
DELETE
)
@OperationLog
(
name
=
"删除APP用户"
,
type
=
OperationLogType
.
DELETE
)
@ApiOperation
(
value
=
"删除APP用户"
,
response
=
ApiResult
.
class
)
@ApiOperation
(
value
=
"删除APP用户"
,
response
=
ApiResult
.
class
)
@RequiresRoles
(
"sys:admin"
)
public
ApiResult
<
Boolean
>
deleteAppUser
(
@PathVariable
(
"id"
)
Long
id
)
throws
Exception
{
public
ApiResult
<
Boolean
>
deleteAppUser
(
@PathVariable
(
"id"
)
Long
id
)
throws
Exception
{
boolean
flag
=
appUserService
.
deleteAppUser
(
id
);
boolean
flag
=
appUserService
.
deleteAppUser
(
id
);
return
ApiResult
.
result
(
flag
);
return
ApiResult
.
result
(
flag
);
...
@@ -85,6 +88,7 @@ public class AppUserController extends BaseController {
...
@@ -85,6 +88,7 @@ public class AppUserController extends BaseController {
@GetMapping
(
"/info/{id}"
)
@GetMapping
(
"/info/{id}"
)
@OperationLog
(
name
=
"APP用户详情"
,
type
=
OperationLogType
.
INFO
)
@OperationLog
(
name
=
"APP用户详情"
,
type
=
OperationLogType
.
INFO
)
@ApiOperation
(
value
=
"APP用户详情"
,
response
=
AppUserQueryVo
.
class
)
@ApiOperation
(
value
=
"APP用户详情"
,
response
=
AppUserQueryVo
.
class
)
@RequiresRoles
(
"sys:admin"
)
public
ApiResult
<
AppUserQueryVo
>
getAppUser
(
@PathVariable
(
"id"
)
Long
id
)
throws
Exception
{
public
ApiResult
<
AppUserQueryVo
>
getAppUser
(
@PathVariable
(
"id"
)
Long
id
)
throws
Exception
{
AppUserQueryVo
appUserQueryVo
=
appUserService
.
getAppUserById
(
id
);
AppUserQueryVo
appUserQueryVo
=
appUserService
.
getAppUserById
(
id
);
return
ApiResult
.
ok
(
appUserQueryVo
);
return
ApiResult
.
ok
(
appUserQueryVo
);
...
@@ -96,31 +100,23 @@ public class AppUserController extends BaseController {
...
@@ -96,31 +100,23 @@ public class AppUserController extends BaseController {
@PostMapping
(
"/getPageList"
)
@PostMapping
(
"/getPageList"
)
@OperationLog
(
name
=
"APP用户分页列表"
,
type
=
OperationLogType
.
PAGE
)
@OperationLog
(
name
=
"APP用户分页列表"
,
type
=
OperationLogType
.
PAGE
)
@ApiOperation
(
value
=
"APP用户分页列表"
,
response
=
AppUserQueryVo
.
class
)
@ApiOperation
(
value
=
"APP用户分页列表"
,
response
=
AppUserQueryVo
.
class
)
@RequiresRoles
(
"sys:admin"
)
public
ApiResult
<
Paging
<
AppUserQueryVo
>>
getAppUserPageList
(
@Validated
@RequestBody
AppUserPageParam
appUserPageParam
)
throws
Exception
{
public
ApiResult
<
Paging
<
AppUserQueryVo
>>
getAppUserPageList
(
@Validated
@RequestBody
AppUserPageParam
appUserPageParam
)
throws
Exception
{
Paging
<
AppUserQueryVo
>
paging
=
appUserService
.
getAppUserPageList
(
appUserPageParam
);
Paging
<
AppUserQueryVo
>
paging
=
appUserService
.
getAppUserPageList
(
appUserPageParam
);
return
ApiResult
.
ok
(
paging
);
return
ApiResult
.
ok
(
paging
);
}
}
@PostMapping
(
"/register"
)
@PostMapping
(
"/register"
)
@OperationLogIgnore
@ApiOperation
(
value
=
"手机号注册"
,
notes
=
"app用户注册"
,
response
=
LoginSysUserTokenVo
.
class
)
@ApiOperation
(
value
=
"注册"
,
notes
=
"web用户注册"
,
response
=
LoginSysUserTokenVo
.
class
)
public
ApiResult
<
LoginAppUserTokenVo
>
register
(
@Validated
@RequestBody
AppSmsRegisterParam
appSmsRegisterParam
,
@RequestHeader
(
required
=
false
)
String
language
)
throws
Exception
{
public
ApiResult
<
LoginSysUserTokenVo
>
register
(
@Validated
@RequestBody
RegisterParam
registerParam
,
HttpServletResponse
response
,
@RequestHeader
(
required
=
false
)
String
language
)
throws
Exception
{
return
appUserService
.
register
(
appSmsRegisterParam
,
language
);
return
appUserService
.
register
(
registerParam
,
language
);
}
}
@PostMapping
(
"/login"
)
@PostMapping
(
"/login"
)
@OperationLogIgnore
@ApiOperation
(
value
=
"手机号登陆"
,
notes
=
"app用户登录"
,
response
=
LoginSysUserTokenVo
.
class
)
@ApiOperation
(
value
=
"登录"
,
notes
=
"系统用户登录"
,
response
=
LoginSysUserTokenVo
.
class
)
public
ApiResult
<
LoginAppUserTokenVo
>
login
(
@Validated
@RequestBody
AppSmsRegisterParam
loginParam
,
@RequestHeader
(
required
=
false
)
String
language
)
throws
Exception
{
public
ApiResult
<
LoginSysUserTokenVo
>
login
(
@Validated
@RequestBody
LoginParam
loginParam
,
HttpServletResponse
response
,
@RequestHeader
(
required
=
false
)
String
language
)
throws
Exception
{
return
appUserService
.
login
(
loginParam
,
language
);
return
appUserService
.
login
(
loginParam
,
language
);
}
}
// @PostMapping("/phoneLogin")
// @OperationLogIgnore
// @ApiOperation(value = "手机号登陆", notes = "手机号登陆", response = LoginSysUserTokenVo.class)
// public ApiResult<LoginSysUserTokenVo> phoneLogin(@Validated @RequestBody RegisterParam registerParam, HttpServletResponse response, @RequestHeader(required = false) String language) throws Exception {
// return appUserService.register(registerParam, language);
// }
}
}
api-app/src/main/java/com/jumeirah/api/app/service/AppSmsService.java
0 → 100644
View file @
36121f3e
package
com
.
jumeirah
.
api
.
app
.
service
;
import
com.jumeirah.api.app.vo.SmsCode
;
import
io.geekidea.springbootplus.framework.common.api.ApiResult
;
public
interface
AppSmsService
{
/**
* 获取注册验证码
*/
ApiResult
<
SmsCode
>
registerType
(
String
area
,
String
number
);
}
api-app/src/main/java/com/jumeirah/api/app/service/impl/AppSmsServiceImpl.java
0 → 100644
View file @
36121f3e
package
com
.
jumeirah
.
api
.
app
.
service
.
impl
;
import
cn.hutool.core.util.RandomUtil
;
import
com.jumeirah.api.app.service.AppSmsService
;
import
com.jumeirah.api.app.vo.SmsCode
;
import
io.geekidea.springbootplus.framework.common.api.ApiResult
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Value
;
import
org.springframework.data.redis.core.RedisTemplate
;
import
org.springframework.stereotype.Service
;
import
java.time.Duration
;
import
java.util.Arrays
;
@Service
@Slf4j
public
class
AppSmsServiceImpl
implements
AppSmsService
{
/**
* SpringBoot获取当前环境
*/
@Value
(
"${spring.profiles.active}"
)
private
String
profiles
;
@Autowired
private
RedisTemplate
redisTemplate
;
private
static
final
String
SMS_REGIEST
=
"sms:register:%s:%s"
;
@Override
public
ApiResult
<
SmsCode
>
registerType
(
String
area
,
String
number
)
{
String
randomCode
=
getRandomCode
();
// 存入redis
long
expire
=
120L
;
Duration
expireDuration
=
Duration
.
ofSeconds
(
expire
);
redisTemplate
.
opsForValue
().
set
(
String
.
format
(
SMS_REGIEST
,
area
,
number
),
randomCode
,
expireDuration
);
SmsCode
smsCode
=
new
SmsCode
();
smsCode
.
setCode
(
randomCode
);
log
.
info
(
area
+
","
+
number
+
":"
+
randomCode
);
// TODO 需要补充调用发送代码
return
ApiResult
.
ok
(
smsCode
);
}
String
getRandomCode
()
{
// 如果为测试环境则生成默认
if
(
profiles
.
equals
(
"dev"
))
{
return
"666666"
;
}
else
{
return
Arrays
.
toString
(
RandomUtil
.
randomInts
(
6
));
}
}
}
api-app/src/main/java/com/jumeirah/api/app/vo/RedisSmsCode.java
0 → 100644
View file @
36121f3e
package
com
.
jumeirah
.
api
.
app
.
vo
;
import
lombok.Data
;
import
java.io.Serializable
;
@Data
public
class
RedisSmsCode
implements
Serializable
{
private
String
code
;
private
String
area
;
private
String
number
;
}
api-app/src/main/java/com/jumeirah/api/app/vo/SmsCode.java
0 → 100644
View file @
36121f3e
package
com
.
jumeirah
.
api
.
app
.
vo
;
import
lombok.Data
;
import
java.io.Serializable
;
@Data
public
class
SmsCode
implements
Serializable
{
private
String
code
;
}
common/src/main/java/com/jumeirah/common/convert/SysUserConvert.java
View file @
36121f3e
...
@@ -18,7 +18,7 @@ package com.jumeirah.common.convert;
...
@@ -18,7 +18,7 @@ package com.jumeirah.common.convert;
import
com.jumeirah.common.entity.MerchantUser
;
import
com.jumeirah.common.entity.MerchantUser
;
import
com.jumeirah.common.entity.SysUser
;
import
com.jumeirah.common.entity.SysUser
;
import
io.geekidea.springbootplus.framework.shiro.vo.Login
Sys
UserVo
;
import
io.geekidea.springbootplus.framework.shiro.vo.LoginUserVo
;
import
org.mapstruct.Mapper
;
import
org.mapstruct.Mapper
;
import
org.mapstruct.factory.Mappers
;
import
org.mapstruct.factory.Mappers
;
...
@@ -39,9 +39,9 @@ public interface SysUserConvert {
...
@@ -39,9 +39,9 @@ public interface SysUserConvert {
* @param sysUser
* @param sysUser
* @return
* @return
*/
*/
Login
Sys
UserVo
sysUserToLoginSysUserVo
(
SysUser
sysUser
);
LoginUserVo
sysUserToLoginSysUserVo
(
SysUser
sysUser
);
Login
Sys
UserVo
merchantUserToLoginSysUserVo
(
MerchantUser
sysUser
);
LoginUserVo
merchantUserToLoginSysUserVo
(
MerchantUser
sysUser
);
}
}
common/src/main/java/com/jumeirah/common/param/app/AppLoginParam.java
0 → 100755
View file @
36121f3e
/*
* Copyright 2019-2029 geekidea(https://github.com/geekidea)
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package
com
.
jumeirah
.
common
.
param
.
app
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
java.io.Serializable
;
/**
* 登录参数
*
* @author geekidea
* @date 2019-05-15
**/
@Data
@ApiModel
(
"登录参数"
)
public
class
AppLoginParam
implements
Serializable
{
private
static
final
long
serialVersionUID
=
2854217576695117356L
;
private
String
area
;
private
String
number
;
@ApiModelProperty
(
"验证码"
)
private
String
code
;
}
common/src/main/java/com/jumeirah/common/param/app/AppSmsRegisterParam.java
0 → 100755
View file @
36121f3e
/*
* Copyright 2019-2029 geekidea(https://github.com/geekidea)
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package
com
.
jumeirah
.
common
.
param
.
app
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
javax.validation.constraints.NotBlank
;
import
java.io.Serializable
;
/**
* 注册参数
*
* @author geekidea
* @date 2019-05-15
**/
@Data
@ApiModel
(
"app手机验证码注册参数"
)
public
class
AppSmsRegisterParam
implements
Serializable
{
@NotBlank
(
message
=
"请输入手机区号"
)
@ApiModelProperty
(
value
=
"手机区号"
,
example
=
"855"
)
private
String
phoneArea
;
@NotBlank
(
message
=
"请输入手机号"
)
@ApiModelProperty
(
value
=
"手机号"
,
example
=
"081611122"
)
private
String
phone
;
@ApiModelProperty
(
"短信验证码"
)
private
String
smsCode
;
}
common/src/main/java/com/jumeirah/common/service/AppUserService.java
View file @
36121f3e
...
@@ -2,10 +2,11 @@ package com.jumeirah.common.service;
...
@@ -2,10 +2,11 @@ package com.jumeirah.common.service;
import
com.jumeirah.common.entity.AppUser
;
import
com.jumeirah.common.entity.AppUser
;
import
com.jumeirah.common.param.AppUserPageParam
;
import
com.jumeirah.common.param.AppUserPageParam
;
import
com.jumeirah.common.param.LoginParam
;
import
com.jumeirah.common.param.RegisterParam
;
import
com.jumeirah.common.param.RegisterParam
;
import
com.jumeirah.common.param.app.AppSmsRegisterParam
;
import
com.jumeirah.common.vo.AppUserQueryVo
;
import
com.jumeirah.common.vo.AppUserQueryVo
;
import
com.jumeirah.common.vo.LoginSysUserTokenVo
;
import
com.jumeirah.common.vo.LoginSysUserTokenVo
;
import
com.jumeirah.common.vo.app.LoginAppUserTokenVo
;
import
io.geekidea.springbootplus.framework.common.api.ApiResult
;
import
io.geekidea.springbootplus.framework.common.api.ApiResult
;
import
io.geekidea.springbootplus.framework.common.service.BaseService
;
import
io.geekidea.springbootplus.framework.common.service.BaseService
;
import
io.geekidea.springbootplus.framework.core.pagination.Paging
;
import
io.geekidea.springbootplus.framework.core.pagination.Paging
;
...
@@ -18,12 +19,11 @@ import io.geekidea.springbootplus.framework.core.pagination.Paging;
...
@@ -18,12 +19,11 @@ import io.geekidea.springbootplus.framework.core.pagination.Paging;
*/
*/
public
interface
AppUserService
extends
BaseService
<
AppUser
>
{
public
interface
AppUserService
extends
BaseService
<
AppUser
>
{
ApiResult
<
Login
SysUserTokenVo
>
register
(
RegisterParam
r
egisterParam
,
String
language
);
ApiResult
<
Login
AppUserTokenVo
>
register
(
AppSmsRegisterParam
appSmsR
egisterParam
,
String
language
);
ApiResult
<
Login
SysUserTokenVo
>
login
(
Login
Param
loginParam
,
String
language
);
ApiResult
<
Login
AppUserTokenVo
>
login
(
AppSmsRegister
Param
loginParam
,
String
language
);
ApiResult
<
LoginSysUserTokenVo
>
phoneLogin
(
RegisterParam
registerParam
,
String
language
);
/**
/**
* 保存
* 保存
...
...
common/src/main/java/com/jumeirah/common/service/impl/AppUserServiceImpl.java
View file @
36121f3e
...
@@ -8,11 +8,10 @@ import com.jumeirah.common.entity.AppUser;
...
@@ -8,11 +8,10 @@ import com.jumeirah.common.entity.AppUser;
import
com.jumeirah.common.enums.StateEnum
;
import
com.jumeirah.common.enums.StateEnum
;
import
com.jumeirah.common.mapper.AppUserMapper
;
import
com.jumeirah.common.mapper.AppUserMapper
;
import
com.jumeirah.common.param.AppUserPageParam
;
import
com.jumeirah.common.param.AppUserPageParam
;
import
com.jumeirah.common.param.LoginParam
;
import
com.jumeirah.common.param.app.AppSmsRegisterParam
;
import
com.jumeirah.common.param.RegisterParam
;
import
com.jumeirah.common.service.AppUserService
;
import
com.jumeirah.common.service.AppUserService
;
import
com.jumeirah.common.vo.AppUserQueryVo
;
import
com.jumeirah.common.vo.AppUserQueryVo
;
import
com.jumeirah.common.vo.
LoginSys
UserTokenVo
;
import
com.jumeirah.common.vo.
app.LoginApp
UserTokenVo
;
import
io.geekidea.springbootplus.config.properties.JwtProperties
;
import
io.geekidea.springbootplus.config.properties.JwtProperties
;
import
io.geekidea.springbootplus.config.properties.SpringBootPlusProperties
;
import
io.geekidea.springbootplus.config.properties.SpringBootPlusProperties
;
import
io.geekidea.springbootplus.framework.common.api.ApiCode
;
import
io.geekidea.springbootplus.framework.common.api.ApiCode
;
...
@@ -24,8 +23,7 @@ import io.geekidea.springbootplus.framework.shiro.cache.AppLoginRedisService;
...
@@ -24,8 +23,7 @@ import io.geekidea.springbootplus.framework.shiro.cache.AppLoginRedisService;
import
io.geekidea.springbootplus.framework.shiro.jwt.JwtToken
;
import
io.geekidea.springbootplus.framework.shiro.jwt.JwtToken
;
import
io.geekidea.springbootplus.framework.shiro.util.JwtUtil
;
import
io.geekidea.springbootplus.framework.shiro.util.JwtUtil
;
import
io.geekidea.springbootplus.framework.shiro.util.SaltUtil
;
import
io.geekidea.springbootplus.framework.shiro.util.SaltUtil
;
import
io.geekidea.springbootplus.framework.shiro.vo.LoginSysUserVo
;
import
io.geekidea.springbootplus.framework.shiro.vo.LoginUserVo
;
import
io.geekidea.springbootplus.framework.util.PasswordUtil
;
import
lombok.extern.slf4j.Slf4j
;
import
lombok.extern.slf4j.Slf4j
;
import
org.apache.commons.codec.digest.DigestUtils
;
import
org.apache.commons.codec.digest.DigestUtils
;
import
org.apache.shiro.SecurityUtils
;
import
org.apache.shiro.SecurityUtils
;
...
@@ -68,18 +66,23 @@ public class AppUserServiceImpl extends BaseServiceImpl<AppUserMapper, AppUser>
...
@@ -68,18 +66,23 @@ public class AppUserServiceImpl extends BaseServiceImpl<AppUserMapper, AppUser>
private
AppUserMapper
appUserMapper
;
private
AppUserMapper
appUserMapper
;
@Override
@Override
public
ApiResult
<
LoginSysUserTokenVo
>
register
(
RegisterParam
registerParam
,
String
language
)
{
public
ApiResult
<
LoginAppUserTokenVo
>
register
(
AppSmsRegisterParam
appSmsRegisterParam
,
String
language
)
{
// JwtToken jwtToken = (JwtToken) SecurityUtils.getSubject().getPrincipal();
// 校验短信验证码是否正确
return
null
;
return
null
;
}
}
@Override
@Override
public
ApiResult
<
Login
SysUserTokenVo
>
login
(
LoginParam
loginParam
,
String
language
)
{
public
ApiResult
<
Login
AppUserTokenVo
>
login
(
AppSmsRegisterParam
loginParam
,
String
language
)
{
// 校验验证码
// 校验验证码
// checkVerifyCode(loginParam.getVerifyToken(), loginParam.getCode());
// checkVerifyCode(loginParam.getVerifyToken(), loginParam.getCode());
String
username
=
loginParam
.
get
Usernam
e
();
String
username
=
loginParam
.
get
Phon
e
();
// 从数据库中获取登录用户信息
// 从数据库中获取登录用户信息
AppUser
appUser
=
appUserMapper
.
selectOne
(
new
QueryWrapper
<
AppUser
>(
new
AppUser
().
setUsername
(
username
)));
AppUser
appUser
=
appUserMapper
.
selectOne
(
new
QueryWrapper
<
AppUser
>(
new
AppUser
().
setUsername
(
username
)));
...
@@ -98,13 +101,13 @@ public class AppUserServiceImpl extends BaseServiceImpl<AppUserMapper, AppUser>
...
@@ -98,13 +101,13 @@ public class AppUserServiceImpl extends BaseServiceImpl<AppUserMapper, AppUser>
// 原始密码明文:123456
// 原始密码明文:123456
// 原始密码前端加密:sha256(123456)
// 原始密码前端加密:sha256(123456)
// 后台加密规则:sha256(sha256(123456) + salt)
// 后台加密规则:sha256(sha256(123456) + salt)
String
encryptPassword
=
PasswordUtil
.
encrypt
(
loginParam
.
getPassword
(),
appUser
.
getSalt
());
//
String encryptPassword = PasswordUtil.encrypt(loginParam.getPassword(), appUser.getSalt());
if
(!
encryptPassword
.
equals
(
appUser
.
getPassword
()))
{
//
if (!encryptPassword.equals(appUser.getPassword())) {
return
ApiResult
.
fail
(
ApiCode
.
PWD_OR_USERNAME_ERROR
,
language
);
//
return ApiResult.fail(ApiCode.PWD_OR_USERNAME_ERROR, language);
}
//
}
// 将系统用户对象转换成登录用户对象
// 将系统用户对象转换成登录用户对象
Login
SysUserVo
loginSysUserVo
=
new
LoginSys
UserVo
();
Login
UserVo
loginSysUserVo
=
new
Login
UserVo
();
loginSysUserVo
.
setUsername
(
username
);
loginSysUserVo
.
setUsername
(
username
);
...
@@ -138,21 +141,16 @@ public class AppUserServiceImpl extends BaseServiceImpl<AppUserMapper, AppUser>
...
@@ -138,21 +141,16 @@ public class AppUserServiceImpl extends BaseServiceImpl<AppUserMapper, AppUser>
redisTemplate
.
opsForValue
().
set
(
tokenSha256
,
loginSysUserVo
,
1
,
TimeUnit
.
DAYS
);
redisTemplate
.
opsForValue
().
set
(
tokenSha256
,
loginSysUserVo
,
1
,
TimeUnit
.
DAYS
);
// 返回token和登录用户信息对象
// 返回token和登录用户信息对象
Login
SysUserTokenVo
loginSysUserTokenVo
=
new
LoginSys
UserTokenVo
();
Login
AppUserTokenVo
loginSysUserTokenVo
=
new
LoginApp
UserTokenVo
();
loginSysUserTokenVo
.
setToken
(
token
);
loginSysUserTokenVo
.
setToken
(
token
);
loginSysUserTokenVo
.
setLoginSysUserVo
(
loginSysUserVo
);
// 设置token响应头
// response.setHeader(JwtTokenUtil.getTokenName(), loginSysUserTokenVo.getToken());
return
ApiResult
.
ok
(
loginSysUserTokenVo
,
language
);
return
ApiResult
.
ok
(
loginSysUserTokenVo
,
language
);
}
}
@Override
//
@Override
public
ApiResult
<
LoginSysUserTokenVo
>
phoneLogin
(
RegisterParam
registerParam
,
String
language
)
{
//
public ApiResult<LoginSysUserTokenVo> phoneLogin(RegisterParam registerParam, String language) {
return
null
;
//
return null;
}
//
}
@Transactional
(
rollbackFor
=
Exception
.
class
)
@Transactional
(
rollbackFor
=
Exception
.
class
)
@Override
@Override
...
...
common/src/main/java/com/jumeirah/common/service/impl/MerchantUserServiceImpl.java
View file @
36121f3e
...
@@ -28,7 +28,7 @@ import io.geekidea.springbootplus.framework.shiro.jwt.JwtToken;
...
@@ -28,7 +28,7 @@ import io.geekidea.springbootplus.framework.shiro.jwt.JwtToken;
import
io.geekidea.springbootplus.framework.shiro.util.JwtTokenUtil
;
import
io.geekidea.springbootplus.framework.shiro.util.JwtTokenUtil
;
import
io.geekidea.springbootplus.framework.shiro.util.JwtUtil
;
import
io.geekidea.springbootplus.framework.shiro.util.JwtUtil
;
import
io.geekidea.springbootplus.framework.shiro.util.SaltUtil
;
import
io.geekidea.springbootplus.framework.shiro.util.SaltUtil
;
import
io.geekidea.springbootplus.framework.shiro.vo.Login
Sys
UserVo
;
import
io.geekidea.springbootplus.framework.shiro.vo.LoginUserVo
;
import
io.geekidea.springbootplus.framework.util.PasswordUtil
;
import
io.geekidea.springbootplus.framework.util.PasswordUtil
;
import
lombok.extern.slf4j.Slf4j
;
import
lombok.extern.slf4j.Slf4j
;
import
org.apache.shiro.SecurityUtils
;
import
org.apache.shiro.SecurityUtils
;
...
@@ -114,7 +114,7 @@ public class MerchantUserServiceImpl extends BaseServiceImpl<MerchantUserMapper,
...
@@ -114,7 +114,7 @@ public class MerchantUserServiceImpl extends BaseServiceImpl<MerchantUserMapper,
}
}
// 将系统用户对象转换成登录用户对象
// 将系统用户对象转换成登录用户对象
Login
Sys
UserVo
loginSysUserVo
=
SysUserConvert
.
INSTANCE
.
merchantUserToLoginSysUserVo
(
merchantUser
);
LoginUserVo
loginSysUserVo
=
SysUserConvert
.
INSTANCE
.
merchantUserToLoginSysUserVo
(
merchantUser
);
// // 获取部门
// // 获取部门
// SysDepartment sysDepartment = sysDepartmentService.getById(merchantUser.getDepartmentId());
// SysDepartment sysDepartment = sysDepartmentService.getById(merchantUser.getDepartmentId());
...
...
common/src/main/java/com/jumeirah/common/service/impl/SysLoginServiceImpl.java
View file @
36121f3e
...
@@ -40,7 +40,7 @@ import io.geekidea.springbootplus.framework.shiro.jwt.JwtToken;
...
@@ -40,7 +40,7 @@ import io.geekidea.springbootplus.framework.shiro.jwt.JwtToken;
import
io.geekidea.springbootplus.framework.shiro.util.JwtTokenUtil
;
import
io.geekidea.springbootplus.framework.shiro.util.JwtTokenUtil
;
import
io.geekidea.springbootplus.framework.shiro.util.JwtUtil
;
import
io.geekidea.springbootplus.framework.shiro.util.JwtUtil
;
import
io.geekidea.springbootplus.framework.shiro.util.SaltUtil
;
import
io.geekidea.springbootplus.framework.shiro.util.SaltUtil
;
import
io.geekidea.springbootplus.framework.shiro.vo.Login
Sys
UserVo
;
import
io.geekidea.springbootplus.framework.shiro.vo.LoginUserVo
;
import
io.geekidea.springbootplus.framework.util.PasswordUtil
;
import
io.geekidea.springbootplus.framework.util.PasswordUtil
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.Api
;
import
lombok.extern.slf4j.Slf4j
;
import
lombok.extern.slf4j.Slf4j
;
...
@@ -134,7 +134,7 @@ public class SysLoginServiceImpl implements SysLoginService {
...
@@ -134,7 +134,7 @@ public class SysLoginServiceImpl implements SysLoginService {
}
}
// 将系统用户对象转换成登录用户对象
// 将系统用户对象转换成登录用户对象
Login
Sys
UserVo
loginSysUserVo
=
SysUserConvert
.
INSTANCE
.
sysUserToLoginSysUserVo
(
sysUser
);
LoginUserVo
loginSysUserVo
=
SysUserConvert
.
INSTANCE
.
sysUserToLoginSysUserVo
(
sysUser
);
// 获取部门
// 获取部门
SysDepartment
sysDepartment
=
sysDepartmentService
.
getById
(
sysUser
.
getDepartmentId
());
SysDepartment
sysDepartment
=
sysDepartmentService
.
getById
(
sysUser
.
getDepartmentId
());
...
...
common/src/main/java/com/jumeirah/common/vo/LoginSysUserTokenVo.java
View file @
36121f3e
...
@@ -17,7 +17,7 @@
...
@@ -17,7 +17,7 @@
package
com
.
jumeirah
.
common
.
vo
;
package
com
.
jumeirah
.
common
.
vo
;
import
io.geekidea.springbootplus.framework.shiro.service.LoginToken
;
import
io.geekidea.springbootplus.framework.shiro.service.LoginToken
;
import
io.geekidea.springbootplus.framework.shiro.vo.Login
Sys
UserVo
;
import
io.geekidea.springbootplus.framework.shiro.vo.LoginUserVo
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
lombok.Data
;
...
@@ -40,5 +40,5 @@ public class LoginSysUserTokenVo implements LoginToken {
...
@@ -40,5 +40,5 @@ public class LoginSysUserTokenVo implements LoginToken {
/**
/**
* 登录用户对象
* 登录用户对象
*/
*/
private
Login
Sys
UserVo
loginSysUserVo
;
private
LoginUserVo
loginSysUserVo
;
}
}
common/src/main/java/com/jumeirah/common/vo/app/LoginAppUserTokenVo.java
0 → 100755
View file @
36121f3e
/*
* Copyright 2019-2029 geekidea(https://github.com/geekidea)
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package
com
.
jumeirah
.
common
.
vo
.
app
;
import
io.geekidea.springbootplus.framework.shiro.service.LoginToken
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
lombok.experimental.Accessors
;
/**
* @author geekidea
* @date 2019-10-26
**/
@Data
@Accessors
(
chain
=
true
)
@ApiModel
(
"登录用户信息TokenVO"
)
public
class
LoginAppUserTokenVo
implements
LoginToken
{
private
static
final
long
serialVersionUID
=
-
2138450422989081056L
;
@ApiModelProperty
(
"token"
)
private
String
token
;
@ApiModelProperty
(
"主键"
)
private
Long
id
;
@ApiModelProperty
(
"用户名"
)
private
String
username
;
@ApiModelProperty
(
"昵称"
)
private
String
nickname
;
// /**
// * 登录用户对象
// */
// private LoginUserVo loginSysUserVo;
}
config/src/main/resources/config/application.yml
View file @
36121f3e
...
@@ -183,7 +183,10 @@ spring-boot-plus:
...
@@ -183,7 +183,10 @@ spring-boot-plus:
# 权限配置
# 权限配置
anon
:
anon
:
# 排除登录 注册 登出
# 排除登录 注册 登出
-
/app/user/register,/app/user/phoneLogin,/app/user/login,/sys/login,/sys/logout,/sys/register,/merchantUser/login
-
/app/user/register,/app/user/phoneLogin,/app/user/login
-
/sys/login,/sys/logout,/sys/register
-
/merchantUser/login
-
/app/sms/register
# 排除静态资源
# 排除静态资源
-
/static/**,/templates/**
-
/static/**,/templates/**
# 排除Swagger
# 排除Swagger
...
...
framework/src/main/java/io/geekidea/springbootplus/framework/shiro/cache/AppLoginRedisService.java
View file @
36121f3e
...
@@ -18,8 +18,8 @@ package io.geekidea.springbootplus.framework.shiro.cache;
...
@@ -18,8 +18,8 @@ package io.geekidea.springbootplus.framework.shiro.cache;
import
io.geekidea.springbootplus.framework.shiro.jwt.JwtToken
;
import
io.geekidea.springbootplus.framework.shiro.jwt.JwtToken
;
import
io.geekidea.springbootplus.framework.shiro.vo.Login
Sys
UserRedisVo
;
import
io.geekidea.springbootplus.framework.shiro.vo.LoginUserRedisVo
;
import
io.geekidea.springbootplus.framework.shiro.vo.Login
Sys
UserVo
;
import
io.geekidea.springbootplus.framework.shiro.vo.LoginUserVo
;
/**
/**
* 登录信息Redis缓存操作服务
* 登录信息Redis缓存操作服务
...
@@ -36,7 +36,7 @@ public interface AppLoginRedisService {
...
@@ -36,7 +36,7 @@ public interface AppLoginRedisService {
* @param jwtToken
* @param jwtToken
* @param loginSysUserVo
* @param loginSysUserVo
*/
*/
void
cacheLoginInfo
(
JwtToken
jwtToken
,
Login
Sys
UserVo
loginSysUserVo
);
void
cacheLoginInfo
(
JwtToken
jwtToken
,
LoginUserVo
loginSysUserVo
);
/**
/**
...
@@ -54,7 +54,7 @@ public interface AppLoginRedisService {
...
@@ -54,7 +54,7 @@ public interface AppLoginRedisService {
* @param username
* @param username
* @return
* @return
*/
*/
Login
Sys
UserRedisVo
getLoginSysUserRedisVo
(
String
username
);
LoginUserRedisVo
getLoginSysUserRedisVo
(
String
username
);
/**
/**
* 获取登录用户对象
* 获取登录用户对象
...
@@ -62,7 +62,7 @@ public interface AppLoginRedisService {
...
@@ -62,7 +62,7 @@ public interface AppLoginRedisService {
* @param username
* @param username
* @return
* @return
*/
*/
Login
Sys
UserVo
getLoginSysUserVo
(
String
username
);
LoginUserVo
getLoginSysUserVo
(
String
username
);
/**
/**
* 通过用户名称获取盐值
* 通过用户名称获取盐值
...
...
framework/src/main/java/io/geekidea/springbootplus/framework/shiro/cache/MerchantLoginRedisService.java
View file @
36121f3e
...
@@ -18,8 +18,8 @@ package io.geekidea.springbootplus.framework.shiro.cache;
...
@@ -18,8 +18,8 @@ package io.geekidea.springbootplus.framework.shiro.cache;
import
io.geekidea.springbootplus.framework.shiro.jwt.JwtToken
;
import
io.geekidea.springbootplus.framework.shiro.jwt.JwtToken
;
import
io.geekidea.springbootplus.framework.shiro.vo.Login
Sys
UserRedisVo
;
import
io.geekidea.springbootplus.framework.shiro.vo.LoginUserRedisVo
;
import
io.geekidea.springbootplus.framework.shiro.vo.Login
Sys
UserVo
;
import
io.geekidea.springbootplus.framework.shiro.vo.LoginUserVo
;
/**
/**
* 登录信息Redis缓存操作服务
* 登录信息Redis缓存操作服务
...
@@ -36,7 +36,7 @@ public interface MerchantLoginRedisService {
...
@@ -36,7 +36,7 @@ public interface MerchantLoginRedisService {
* @param jwtToken
* @param jwtToken
* @param loginSysUserVo
* @param loginSysUserVo
*/
*/
void
cacheLoginInfo
(
JwtToken
jwtToken
,
Login
Sys
UserVo
loginSysUserVo
);
void
cacheLoginInfo
(
JwtToken
jwtToken
,
LoginUserVo
loginSysUserVo
);
/**
/**
...
@@ -54,7 +54,7 @@ public interface MerchantLoginRedisService {
...
@@ -54,7 +54,7 @@ public interface MerchantLoginRedisService {
* @param username
* @param username
* @return
* @return
*/
*/
Login
Sys
UserRedisVo
getLoginSysUserRedisVo
(
String
username
);
LoginUserRedisVo
getLoginSysUserRedisVo
(
String
username
);
/**
/**
* 获取登录用户对象
* 获取登录用户对象
...
@@ -62,7 +62,7 @@ public interface MerchantLoginRedisService {
...
@@ -62,7 +62,7 @@ public interface MerchantLoginRedisService {
* @param username
* @param username
* @return
* @return
*/
*/
Login
Sys
UserVo
getLoginSysUserVo
(
String
username
);
LoginUserVo
getLoginSysUserVo
(
String
username
);
/**
/**
* 通过用户名称获取盐值
* 通过用户名称获取盐值
...
...
framework/src/main/java/io/geekidea/springbootplus/framework/shiro/cache/SysLoginRedisService.java
View file @
36121f3e
...
@@ -18,8 +18,8 @@ package io.geekidea.springbootplus.framework.shiro.cache;
...
@@ -18,8 +18,8 @@ package io.geekidea.springbootplus.framework.shiro.cache;
import
io.geekidea.springbootplus.framework.shiro.jwt.JwtToken
;
import
io.geekidea.springbootplus.framework.shiro.jwt.JwtToken
;
import
io.geekidea.springbootplus.framework.shiro.vo.Login
Sys
UserRedisVo
;
import
io.geekidea.springbootplus.framework.shiro.vo.LoginUserRedisVo
;
import
io.geekidea.springbootplus.framework.shiro.vo.Login
Sys
UserVo
;
import
io.geekidea.springbootplus.framework.shiro.vo.LoginUserVo
;
/**
/**
* 登录信息Redis缓存操作服务
* 登录信息Redis缓存操作服务
...
@@ -36,7 +36,7 @@ public interface SysLoginRedisService {
...
@@ -36,7 +36,7 @@ public interface SysLoginRedisService {
* @param jwtToken
* @param jwtToken
* @param loginSysUserVo
* @param loginSysUserVo
*/
*/
void
cacheLoginInfo
(
JwtToken
jwtToken
,
Login
Sys
UserVo
loginSysUserVo
);
void
cacheLoginInfo
(
JwtToken
jwtToken
,
LoginUserVo
loginSysUserVo
);
/**
/**
...
@@ -54,7 +54,7 @@ public interface SysLoginRedisService {
...
@@ -54,7 +54,7 @@ public interface SysLoginRedisService {
* @param username
* @param username
* @return
* @return
*/
*/
Login
Sys
UserRedisVo
getLoginSysUserRedisVo
(
String
username
);
LoginUserRedisVo
getLoginSysUserRedisVo
(
String
username
);
/**
/**
* 获取登录用户对象
* 获取登录用户对象
...
@@ -62,7 +62,7 @@ public interface SysLoginRedisService {
...
@@ -62,7 +62,7 @@ public interface SysLoginRedisService {
* @param username
* @param username
* @return
* @return
*/
*/
Login
Sys
UserVo
getLoginSysUserVo
(
String
username
);
LoginUserVo
getLoginSysUserVo
(
String
username
);
/**
/**
* 通过用户名称获取盐值
* 通过用户名称获取盐值
...
...
framework/src/main/java/io/geekidea/springbootplus/framework/shiro/cache/impl/AppLoginRedisServiceImpl.java
View file @
36121f3e
...
@@ -9,8 +9,8 @@ import io.geekidea.springbootplus.framework.shiro.convert.LoginSysUserVoConvert;
...
@@ -9,8 +9,8 @@ import io.geekidea.springbootplus.framework.shiro.convert.LoginSysUserVoConvert;
import
io.geekidea.springbootplus.framework.shiro.convert.ShiroMapstructConvert
;
import
io.geekidea.springbootplus.framework.shiro.convert.ShiroMapstructConvert
;
import
io.geekidea.springbootplus.framework.shiro.jwt.JwtToken
;
import
io.geekidea.springbootplus.framework.shiro.jwt.JwtToken
;
import
io.geekidea.springbootplus.framework.shiro.vo.JwtTokenRedisVo
;
import
io.geekidea.springbootplus.framework.shiro.vo.JwtTokenRedisVo
;
import
io.geekidea.springbootplus.framework.shiro.vo.Login
Sys
UserRedisVo
;
import
io.geekidea.springbootplus.framework.shiro.vo.LoginUserRedisVo
;
import
io.geekidea.springbootplus.framework.shiro.vo.Login
Sys
UserVo
;
import
io.geekidea.springbootplus.framework.shiro.vo.LoginUserVo
;
import
io.geekidea.springbootplus.framework.util.ClientInfoUtil
;
import
io.geekidea.springbootplus.framework.util.ClientInfoUtil
;
import
io.geekidea.springbootplus.framework.util.HttpServletRequestUtil
;
import
io.geekidea.springbootplus.framework.util.HttpServletRequestUtil
;
import
org.apache.commons.codec.digest.DigestUtils
;
import
org.apache.commons.codec.digest.DigestUtils
;
...
@@ -42,7 +42,7 @@ public class AppLoginRedisServiceImpl implements AppLoginRedisService {
...
@@ -42,7 +42,7 @@ public class AppLoginRedisServiceImpl implements AppLoginRedisService {
* username:num
* username:num
*/
*/
@Override
@Override
public
void
cacheLoginInfo
(
JwtToken
jwtToken
,
Login
Sys
UserVo
loginSysUserVo
)
{
public
void
cacheLoginInfo
(
JwtToken
jwtToken
,
LoginUserVo
loginSysUserVo
)
{
if
(
jwtToken
==
null
)
{
if
(
jwtToken
==
null
)
{
throw
new
IllegalArgumentException
(
"jwtToken不能为空"
);
throw
new
IllegalArgumentException
(
"jwtToken不能为空"
);
}
}
...
@@ -61,13 +61,14 @@ public class AppLoginRedisServiceImpl implements AppLoginRedisService {
...
@@ -61,13 +61,14 @@ public class AppLoginRedisServiceImpl implements AppLoginRedisService {
// Redis缓存JWT Token信息
// Redis缓存JWT Token信息
JwtTokenRedisVo
jwtTokenRedisVo
=
ShiroMapstructConvert
.
INSTANCE
.
jwtTokenToJwtTokenRedisVo
(
jwtToken
);
JwtTokenRedisVo
jwtTokenRedisVo
=
ShiroMapstructConvert
.
INSTANCE
.
jwtTokenToJwtTokenRedisVo
(
jwtToken
);
jwtTokenRedisVo
.
setUserId
(
loginSysUserVo
.
getId
());
// 用户客户端信息
// 用户客户端信息
ClientInfo
clientInfo
=
ClientInfoUtil
.
get
(
HttpServletRequestUtil
.
getRequest
());
ClientInfo
clientInfo
=
ClientInfoUtil
.
get
(
HttpServletRequestUtil
.
getRequest
());
// Redis缓存登录用户信息
// Redis缓存登录用户信息
// 将LoginSysUserVo对象复制到LoginSysUserRedisVo,使用mapstruct进行对象属性复制
// 将LoginSysUserVo对象复制到LoginSysUserRedisVo,使用mapstruct进行对象属性复制
Login
Sys
UserRedisVo
loginSysUserRedisVo
=
LoginSysUserVoConvert
.
INSTANCE
.
voToRedisVo
(
loginSysUserVo
);
LoginUserRedisVo
loginSysUserRedisVo
=
LoginSysUserVoConvert
.
INSTANCE
.
voToRedisVo
(
loginSysUserVo
);
loginSysUserRedisVo
.
setSalt
(
salt
);
loginSysUserRedisVo
.
setSalt
(
salt
);
loginSysUserRedisVo
.
setClientInfo
(
clientInfo
);
loginSysUserRedisVo
.
setClientInfo
(
clientInfo
);
...
@@ -94,7 +95,7 @@ public class AppLoginRedisServiceImpl implements AppLoginRedisService {
...
@@ -94,7 +95,7 @@ public class AppLoginRedisServiceImpl implements AppLoginRedisService {
@Override
@Override
public
void
refreshLoginInfo
(
String
oldToken
,
String
username
,
JwtToken
newJwtToken
)
{
public
void
refreshLoginInfo
(
String
oldToken
,
String
username
,
JwtToken
newJwtToken
)
{
// 获取缓存的登录用户信息
// 获取缓存的登录用户信息
Login
Sys
UserRedisVo
loginSysUserRedisVo
=
getLoginSysUserRedisVo
(
username
);
LoginUserRedisVo
loginSysUserRedisVo
=
getLoginSysUserRedisVo
(
username
);
// 删除之前的token信息
// 删除之前的token信息
deleteLoginInfo
(
oldToken
,
username
);
deleteLoginInfo
(
oldToken
,
username
);
// 缓存登录信息
// 缓存登录信息
...
@@ -102,19 +103,19 @@ public class AppLoginRedisServiceImpl implements AppLoginRedisService {
...
@@ -102,19 +103,19 @@ public class AppLoginRedisServiceImpl implements AppLoginRedisService {
}
}
@Override
@Override
public
Login
Sys
UserRedisVo
getLoginSysUserRedisVo
(
String
username
)
{
public
LoginUserRedisVo
getLoginSysUserRedisVo
(
String
username
)
{
if
(
StringUtils
.
isBlank
(
username
))
{
if
(
StringUtils
.
isBlank
(
username
))
{
throw
new
IllegalArgumentException
(
"username不能为空"
);
throw
new
IllegalArgumentException
(
"username不能为空"
);
}
}
return
(
Login
Sys
UserRedisVo
)
redisTemplate
.
opsForValue
().
get
(
String
.
format
(
AppLoginRedisKey
.
LOGIN_USER
,
username
));
return
(
LoginUserRedisVo
)
redisTemplate
.
opsForValue
().
get
(
String
.
format
(
AppLoginRedisKey
.
LOGIN_USER
,
username
));
}
}
@Override
@Override
public
Login
Sys
UserVo
getLoginSysUserVo
(
String
username
)
{
public
LoginUserVo
getLoginSysUserVo
(
String
username
)
{
if
(
StringUtils
.
isBlank
(
username
))
{
if
(
StringUtils
.
isBlank
(
username
))
{
throw
new
IllegalArgumentException
(
"username不能为空"
);
throw
new
IllegalArgumentException
(
"username不能为空"
);
}
}
Login
Sys
UserRedisVo
userRedisVo
=
getLoginSysUserRedisVo
(
username
);
LoginUserRedisVo
userRedisVo
=
getLoginSysUserRedisVo
(
username
);
return
userRedisVo
;
return
userRedisVo
;
}
}
...
...
framework/src/main/java/io/geekidea/springbootplus/framework/shiro/cache/impl/MerchantLoginRedisServiceImpl.java
View file @
36121f3e
...
@@ -9,8 +9,8 @@ import io.geekidea.springbootplus.framework.shiro.convert.LoginSysUserVoConvert;
...
@@ -9,8 +9,8 @@ import io.geekidea.springbootplus.framework.shiro.convert.LoginSysUserVoConvert;
import
io.geekidea.springbootplus.framework.shiro.convert.ShiroMapstructConvert
;
import
io.geekidea.springbootplus.framework.shiro.convert.ShiroMapstructConvert
;
import
io.geekidea.springbootplus.framework.shiro.jwt.JwtToken
;
import
io.geekidea.springbootplus.framework.shiro.jwt.JwtToken
;
import
io.geekidea.springbootplus.framework.shiro.vo.JwtTokenRedisVo
;
import
io.geekidea.springbootplus.framework.shiro.vo.JwtTokenRedisVo
;
import
io.geekidea.springbootplus.framework.shiro.vo.Login
Sys
UserRedisVo
;
import
io.geekidea.springbootplus.framework.shiro.vo.LoginUserRedisVo
;
import
io.geekidea.springbootplus.framework.shiro.vo.Login
Sys
UserVo
;
import
io.geekidea.springbootplus.framework.shiro.vo.LoginUserVo
;
import
io.geekidea.springbootplus.framework.util.ClientInfoUtil
;
import
io.geekidea.springbootplus.framework.util.ClientInfoUtil
;
import
io.geekidea.springbootplus.framework.util.HttpServletRequestUtil
;
import
io.geekidea.springbootplus.framework.util.HttpServletRequestUtil
;
import
org.apache.commons.codec.digest.DigestUtils
;
import
org.apache.commons.codec.digest.DigestUtils
;
...
@@ -42,7 +42,7 @@ public class MerchantLoginRedisServiceImpl implements MerchantLoginRedisService
...
@@ -42,7 +42,7 @@ public class MerchantLoginRedisServiceImpl implements MerchantLoginRedisService
* username:num
* username:num
*/
*/
@Override
@Override
public
void
cacheLoginInfo
(
JwtToken
jwtToken
,
Login
Sys
UserVo
loginSysUserVo
)
{
public
void
cacheLoginInfo
(
JwtToken
jwtToken
,
LoginUserVo
loginSysUserVo
)
{
if
(
jwtToken
==
null
)
{
if
(
jwtToken
==
null
)
{
throw
new
IllegalArgumentException
(
"jwtToken不能为空"
);
throw
new
IllegalArgumentException
(
"jwtToken不能为空"
);
}
}
...
@@ -60,13 +60,14 @@ public class MerchantLoginRedisServiceImpl implements MerchantLoginRedisService
...
@@ -60,13 +60,14 @@ public class MerchantLoginRedisServiceImpl implements MerchantLoginRedisService
// Redis缓存JWT Token信息
// Redis缓存JWT Token信息
JwtTokenRedisVo
jwtTokenRedisVo
=
ShiroMapstructConvert
.
INSTANCE
.
jwtTokenToJwtTokenRedisVo
(
jwtToken
);
JwtTokenRedisVo
jwtTokenRedisVo
=
ShiroMapstructConvert
.
INSTANCE
.
jwtTokenToJwtTokenRedisVo
(
jwtToken
);
jwtTokenRedisVo
.
setUserId
(
loginSysUserVo
.
getId
());
// 用户客户端信息
// 用户客户端信息
ClientInfo
clientInfo
=
ClientInfoUtil
.
get
(
HttpServletRequestUtil
.
getRequest
());
ClientInfo
clientInfo
=
ClientInfoUtil
.
get
(
HttpServletRequestUtil
.
getRequest
());
// Redis缓存登录用户信息
// Redis缓存登录用户信息
// 将LoginSysUserVo对象复制到LoginSysUserRedisVo,使用mapstruct进行对象属性复制
// 将LoginSysUserVo对象复制到LoginSysUserRedisVo,使用mapstruct进行对象属性复制
Login
Sys
UserRedisVo
loginSysUserRedisVo
=
LoginSysUserVoConvert
.
INSTANCE
.
voToRedisVo
(
loginSysUserVo
);
LoginUserRedisVo
loginSysUserRedisVo
=
LoginSysUserVoConvert
.
INSTANCE
.
voToRedisVo
(
loginSysUserVo
);
loginSysUserRedisVo
.
setSalt
(
salt
);
loginSysUserRedisVo
.
setSalt
(
salt
);
loginSysUserRedisVo
.
setClientInfo
(
clientInfo
);
loginSysUserRedisVo
.
setClientInfo
(
clientInfo
);
...
@@ -93,7 +94,7 @@ public class MerchantLoginRedisServiceImpl implements MerchantLoginRedisService
...
@@ -93,7 +94,7 @@ public class MerchantLoginRedisServiceImpl implements MerchantLoginRedisService
@Override
@Override
public
void
refreshLoginInfo
(
String
oldToken
,
String
username
,
JwtToken
newJwtToken
)
{
public
void
refreshLoginInfo
(
String
oldToken
,
String
username
,
JwtToken
newJwtToken
)
{
// 获取缓存的登录用户信息
// 获取缓存的登录用户信息
Login
Sys
UserRedisVo
loginSysUserRedisVo
=
getLoginSysUserRedisVo
(
username
);
LoginUserRedisVo
loginSysUserRedisVo
=
getLoginSysUserRedisVo
(
username
);
// 删除之前的token信息
// 删除之前的token信息
deleteLoginInfo
(
oldToken
,
username
);
deleteLoginInfo
(
oldToken
,
username
);
// 缓存登录信息
// 缓存登录信息
...
@@ -101,19 +102,19 @@ public class MerchantLoginRedisServiceImpl implements MerchantLoginRedisService
...
@@ -101,19 +102,19 @@ public class MerchantLoginRedisServiceImpl implements MerchantLoginRedisService
}
}
@Override
@Override
public
Login
Sys
UserRedisVo
getLoginSysUserRedisVo
(
String
username
)
{
public
LoginUserRedisVo
getLoginSysUserRedisVo
(
String
username
)
{
if
(
StringUtils
.
isBlank
(
username
))
{
if
(
StringUtils
.
isBlank
(
username
))
{
throw
new
IllegalArgumentException
(
"username不能为空"
);
throw
new
IllegalArgumentException
(
"username不能为空"
);
}
}
return
(
Login
Sys
UserRedisVo
)
redisTemplate
.
opsForValue
().
get
(
String
.
format
(
MerchantLoginRedisKey
.
LOGIN_USER
,
username
));
return
(
LoginUserRedisVo
)
redisTemplate
.
opsForValue
().
get
(
String
.
format
(
MerchantLoginRedisKey
.
LOGIN_USER
,
username
));
}
}
@Override
@Override
public
Login
Sys
UserVo
getLoginSysUserVo
(
String
username
)
{
public
LoginUserVo
getLoginSysUserVo
(
String
username
)
{
if
(
StringUtils
.
isBlank
(
username
))
{
if
(
StringUtils
.
isBlank
(
username
))
{
throw
new
IllegalArgumentException
(
"username不能为空"
);
throw
new
IllegalArgumentException
(
"username不能为空"
);
}
}
Login
Sys
UserRedisVo
userRedisVo
=
getLoginSysUserRedisVo
(
username
);
LoginUserRedisVo
userRedisVo
=
getLoginSysUserRedisVo
(
username
);
return
userRedisVo
;
return
userRedisVo
;
}
}
...
...
framework/src/main/java/io/geekidea/springbootplus/framework/shiro/cache/impl/SysLoginRedisServiceImpl.java
View file @
36121f3e
...
@@ -25,8 +25,8 @@ import io.geekidea.springbootplus.framework.shiro.convert.LoginSysUserVoConvert;
...
@@ -25,8 +25,8 @@ import io.geekidea.springbootplus.framework.shiro.convert.LoginSysUserVoConvert;
import
io.geekidea.springbootplus.framework.shiro.convert.ShiroMapstructConvert
;
import
io.geekidea.springbootplus.framework.shiro.convert.ShiroMapstructConvert
;
import
io.geekidea.springbootplus.framework.shiro.jwt.JwtToken
;
import
io.geekidea.springbootplus.framework.shiro.jwt.JwtToken
;
import
io.geekidea.springbootplus.framework.shiro.vo.JwtTokenRedisVo
;
import
io.geekidea.springbootplus.framework.shiro.vo.JwtTokenRedisVo
;
import
io.geekidea.springbootplus.framework.shiro.vo.Login
Sys
UserRedisVo
;
import
io.geekidea.springbootplus.framework.shiro.vo.LoginUserRedisVo
;
import
io.geekidea.springbootplus.framework.shiro.vo.Login
Sys
UserVo
;
import
io.geekidea.springbootplus.framework.shiro.vo.LoginUserVo
;
import
io.geekidea.springbootplus.framework.util.ClientInfoUtil
;
import
io.geekidea.springbootplus.framework.util.ClientInfoUtil
;
import
io.geekidea.springbootplus.framework.util.HttpServletRequestUtil
;
import
io.geekidea.springbootplus.framework.util.HttpServletRequestUtil
;
import
org.apache.commons.codec.digest.DigestUtils
;
import
org.apache.commons.codec.digest.DigestUtils
;
...
@@ -65,7 +65,7 @@ public class SysLoginRedisServiceImpl implements SysLoginRedisService {
...
@@ -65,7 +65,7 @@ public class SysLoginRedisServiceImpl implements SysLoginRedisService {
* username:num
* username:num
*/
*/
@Override
@Override
public
void
cacheLoginInfo
(
JwtToken
jwtToken
,
Login
Sys
UserVo
loginSysUserVo
)
{
public
void
cacheLoginInfo
(
JwtToken
jwtToken
,
LoginUserVo
loginSysUserVo
)
{
if
(
jwtToken
==
null
)
{
if
(
jwtToken
==
null
)
{
throw
new
IllegalArgumentException
(
"jwtToken不能为空"
);
throw
new
IllegalArgumentException
(
"jwtToken不能为空"
);
}
}
...
@@ -84,12 +84,13 @@ public class SysLoginRedisServiceImpl implements SysLoginRedisService {
...
@@ -84,12 +84,13 @@ public class SysLoginRedisServiceImpl implements SysLoginRedisService {
// Redis缓存JWT Token信息
// Redis缓存JWT Token信息
JwtTokenRedisVo
jwtTokenRedisVo
=
ShiroMapstructConvert
.
INSTANCE
.
jwtTokenToJwtTokenRedisVo
(
jwtToken
);
JwtTokenRedisVo
jwtTokenRedisVo
=
ShiroMapstructConvert
.
INSTANCE
.
jwtTokenToJwtTokenRedisVo
(
jwtToken
);
jwtTokenRedisVo
.
setUserId
(
loginSysUserVo
.
getId
());
// 用户客户端信息
// 用户客户端信息
ClientInfo
clientInfo
=
ClientInfoUtil
.
get
(
HttpServletRequestUtil
.
getRequest
());
ClientInfo
clientInfo
=
ClientInfoUtil
.
get
(
HttpServletRequestUtil
.
getRequest
());
// Redis缓存登录用户信息
// Redis缓存登录用户信息
// 将LoginSysUserVo对象复制到LoginSysUserRedisVo,使用mapstruct进行对象属性复制
// 将LoginSysUserVo对象复制到LoginSysUserRedisVo,使用mapstruct进行对象属性复制
Login
Sys
UserRedisVo
loginSysUserRedisVo
=
LoginSysUserVoConvert
.
INSTANCE
.
voToRedisVo
(
loginSysUserVo
);
LoginUserRedisVo
loginSysUserRedisVo
=
LoginSysUserVoConvert
.
INSTANCE
.
voToRedisVo
(
loginSysUserVo
);
loginSysUserRedisVo
.
setSalt
(
salt
);
loginSysUserRedisVo
.
setSalt
(
salt
);
loginSysUserRedisVo
.
setClientInfo
(
clientInfo
);
loginSysUserRedisVo
.
setClientInfo
(
clientInfo
);
...
@@ -116,7 +117,7 @@ public class SysLoginRedisServiceImpl implements SysLoginRedisService {
...
@@ -116,7 +117,7 @@ public class SysLoginRedisServiceImpl implements SysLoginRedisService {
@Override
@Override
public
void
refreshLoginInfo
(
String
oldToken
,
String
username
,
JwtToken
newJwtToken
)
{
public
void
refreshLoginInfo
(
String
oldToken
,
String
username
,
JwtToken
newJwtToken
)
{
// 获取缓存的登录用户信息
// 获取缓存的登录用户信息
Login
Sys
UserRedisVo
loginSysUserRedisVo
=
getLoginSysUserRedisVo
(
username
);
LoginUserRedisVo
loginSysUserRedisVo
=
getLoginSysUserRedisVo
(
username
);
// 删除之前的token信息
// 删除之前的token信息
deleteLoginInfo
(
oldToken
,
username
);
deleteLoginInfo
(
oldToken
,
username
);
// 缓存登录信息
// 缓存登录信息
...
@@ -124,19 +125,19 @@ public class SysLoginRedisServiceImpl implements SysLoginRedisService {
...
@@ -124,19 +125,19 @@ public class SysLoginRedisServiceImpl implements SysLoginRedisService {
}
}
@Override
@Override
public
Login
Sys
UserRedisVo
getLoginSysUserRedisVo
(
String
username
)
{
public
LoginUserRedisVo
getLoginSysUserRedisVo
(
String
username
)
{
if
(
StringUtils
.
isBlank
(
username
))
{
if
(
StringUtils
.
isBlank
(
username
))
{
throw
new
IllegalArgumentException
(
"username不能为空"
);
throw
new
IllegalArgumentException
(
"username不能为空"
);
}
}
return
(
Login
Sys
UserRedisVo
)
redisTemplate
.
opsForValue
().
get
(
String
.
format
(
SysLoginRedisKey
.
LOGIN_USER
,
username
));
return
(
LoginUserRedisVo
)
redisTemplate
.
opsForValue
().
get
(
String
.
format
(
SysLoginRedisKey
.
LOGIN_USER
,
username
));
}
}
@Override
@Override
public
Login
Sys
UserVo
getLoginSysUserVo
(
String
username
)
{
public
LoginUserVo
getLoginSysUserVo
(
String
username
)
{
if
(
StringUtils
.
isBlank
(
username
))
{
if
(
StringUtils
.
isBlank
(
username
))
{
throw
new
IllegalArgumentException
(
"username不能为空"
);
throw
new
IllegalArgumentException
(
"username不能为空"
);
}
}
Login
Sys
UserRedisVo
userRedisVo
=
getLoginSysUserRedisVo
(
username
);
LoginUserRedisVo
userRedisVo
=
getLoginSysUserRedisVo
(
username
);
return
userRedisVo
;
return
userRedisVo
;
}
}
...
...
framework/src/main/java/io/geekidea/springbootplus/framework/shiro/convert/LoginSysUserVoConvert.java
View file @
36121f3e
...
@@ -16,8 +16,8 @@
...
@@ -16,8 +16,8 @@
package
io
.
geekidea
.
springbootplus
.
framework
.
shiro
.
convert
;
package
io
.
geekidea
.
springbootplus
.
framework
.
shiro
.
convert
;
import
io.geekidea.springbootplus.framework.shiro.vo.Login
Sys
UserRedisVo
;
import
io.geekidea.springbootplus.framework.shiro.vo.LoginUserRedisVo
;
import
io.geekidea.springbootplus.framework.shiro.vo.Login
Sys
UserVo
;
import
io.geekidea.springbootplus.framework.shiro.vo.LoginUserVo
;
import
org.mapstruct.Mapper
;
import
org.mapstruct.Mapper
;
import
org.mapstruct.factory.Mappers
;
import
org.mapstruct.factory.Mappers
;
...
@@ -38,6 +38,6 @@ public interface LoginSysUserVoConvert {
...
@@ -38,6 +38,6 @@ public interface LoginSysUserVoConvert {
* @param loginSysUserVo
* @param loginSysUserVo
* @return
* @return
*/
*/
Login
SysUserRedisVo
voToRedisVo
(
LoginSys
UserVo
loginSysUserVo
);
Login
UserRedisVo
voToRedisVo
(
Login
UserVo
loginSysUserVo
);
}
}
framework/src/main/java/io/geekidea/springbootplus/framework/shiro/jwt/JwtToken.java
View file @
36121f3e
...
@@ -43,6 +43,12 @@ public class JwtToken implements HostAuthenticationToken {
...
@@ -43,6 +43,12 @@ public class JwtToken implements HostAuthenticationToken {
* 登录ip
* 登录ip
*/
*/
private
String
host
;
private
String
host
;
/**
* 登录用户ID
*/
private
Long
userId
;
/**
/**
* 登录用户名称
* 登录用户名称
*/
*/
...
...
framework/src/main/java/io/geekidea/springbootplus/framework/shiro/jwt/realm/JwtRealmMerchant.java
View file @
36121f3e
...
@@ -18,7 +18,7 @@ package io.geekidea.springbootplus.framework.shiro.jwt.realm;
...
@@ -18,7 +18,7 @@ package io.geekidea.springbootplus.framework.shiro.jwt.realm;
import
io.geekidea.springbootplus.framework.shiro.cache.MerchantLoginRedisService
;
import
io.geekidea.springbootplus.framework.shiro.cache.MerchantLoginRedisService
;
import
io.geekidea.springbootplus.framework.shiro.jwt.JwtToken
;
import
io.geekidea.springbootplus.framework.shiro.jwt.JwtToken
;
import
io.geekidea.springbootplus.framework.shiro.vo.Login
Sys
UserRedisVo
;
import
io.geekidea.springbootplus.framework.shiro.vo.LoginUserRedisVo
;
import
lombok.extern.slf4j.Slf4j
;
import
lombok.extern.slf4j.Slf4j
;
import
org.apache.commons.collections4.SetUtils
;
import
org.apache.commons.collections4.SetUtils
;
import
org.apache.commons.lang3.StringUtils
;
import
org.apache.commons.lang3.StringUtils
;
...
@@ -73,7 +73,7 @@ public class JwtRealmMerchant extends AuthorizingRealm {
...
@@ -73,7 +73,7 @@ public class JwtRealmMerchant extends AuthorizingRealm {
// 获取username
// 获取username
String
username
=
jwtToken
.
getUsername
();
String
username
=
jwtToken
.
getUsername
();
// 获取登录用户角色权限信息
// 获取登录用户角色权限信息
Login
Sys
UserRedisVo
loginSysUserRedisVo
=
merchantLoginRedisService
.
getLoginSysUserRedisVo
(
username
);
LoginUserRedisVo
loginSysUserRedisVo
=
merchantLoginRedisService
.
getLoginSysUserRedisVo
(
username
);
SimpleAuthorizationInfo
authorizationInfo
=
new
SimpleAuthorizationInfo
();
SimpleAuthorizationInfo
authorizationInfo
=
new
SimpleAuthorizationInfo
();
// 设置角色
// 设置角色
authorizationInfo
.
setRoles
(
SetUtils
.
hashSet
(
loginSysUserRedisVo
.
getRoleCode
()));
authorizationInfo
.
setRoles
(
SetUtils
.
hashSet
(
loginSysUserRedisVo
.
getRoleCode
()));
...
...
framework/src/main/java/io/geekidea/springbootplus/framework/shiro/jwt/realm/JwtRealmSystem.java
View file @
36121f3e
...
@@ -18,7 +18,7 @@ package io.geekidea.springbootplus.framework.shiro.jwt.realm;
...
@@ -18,7 +18,7 @@ package io.geekidea.springbootplus.framework.shiro.jwt.realm;
import
io.geekidea.springbootplus.framework.shiro.cache.SysLoginRedisService
;
import
io.geekidea.springbootplus.framework.shiro.cache.SysLoginRedisService
;
import
io.geekidea.springbootplus.framework.shiro.jwt.JwtToken
;
import
io.geekidea.springbootplus.framework.shiro.jwt.JwtToken
;
import
io.geekidea.springbootplus.framework.shiro.vo.Login
Sys
UserRedisVo
;
import
io.geekidea.springbootplus.framework.shiro.vo.LoginUserRedisVo
;
import
lombok.extern.slf4j.Slf4j
;
import
lombok.extern.slf4j.Slf4j
;
import
org.apache.commons.collections4.SetUtils
;
import
org.apache.commons.collections4.SetUtils
;
import
org.apache.commons.lang3.StringUtils
;
import
org.apache.commons.lang3.StringUtils
;
...
@@ -69,7 +69,7 @@ public class JwtRealmSystem extends AuthorizingRealm {
...
@@ -69,7 +69,7 @@ public class JwtRealmSystem extends AuthorizingRealm {
// 获取username
// 获取username
String
username
=
jwtToken
.
getUsername
();
String
username
=
jwtToken
.
getUsername
();
// 获取登录用户角色权限信息
// 获取登录用户角色权限信息
Login
Sys
UserRedisVo
loginSysUserRedisVo
=
sysLoginRedisService
.
getLoginSysUserRedisVo
(
username
);
LoginUserRedisVo
loginSysUserRedisVo
=
sysLoginRedisService
.
getLoginSysUserRedisVo
(
username
);
SimpleAuthorizationInfo
authorizationInfo
=
new
SimpleAuthorizationInfo
();
SimpleAuthorizationInfo
authorizationInfo
=
new
SimpleAuthorizationInfo
();
// 设置角色
// 设置角色
...
...
framework/src/main/java/io/geekidea/springbootplus/framework/shiro/vo/JwtTokenRedisVo.java
View file @
36121f3e
...
@@ -39,6 +39,12 @@ public class JwtTokenRedisVo implements Serializable {
...
@@ -39,6 +39,12 @@ public class JwtTokenRedisVo implements Serializable {
* 登录ip
* 登录ip
*/
*/
private
String
host
;
private
String
host
;
/**
* 登录用户ID
*/
private
Long
userId
;
/**
/**
* 登录用户名称
* 登录用户名称
*/
*/
...
...
framework/src/main/java/io/geekidea/springbootplus/framework/shiro/vo/Login
Sys
UserRedisVo.java
→
framework/src/main/java/io/geekidea/springbootplus/framework/shiro/vo/LoginUserRedisVo.java
View file @
36121f3e
...
@@ -30,7 +30,7 @@ import lombok.experimental.Accessors;
...
@@ -30,7 +30,7 @@ import lombok.experimental.Accessors;
@Data
@Data
@Accessors
(
chain
=
true
)
@Accessors
(
chain
=
true
)
@EqualsAndHashCode
(
callSuper
=
false
)
@EqualsAndHashCode
(
callSuper
=
false
)
public
class
Login
SysUserRedisVo
extends
LoginSys
UserVo
{
public
class
Login
UserRedisVo
extends
Login
UserVo
{
private
static
final
long
serialVersionUID
=
-
3858850188055605806L
;
private
static
final
long
serialVersionUID
=
-
3858850188055605806L
;
...
...
framework/src/main/java/io/geekidea/springbootplus/framework/shiro/vo/Login
Sys
UserVo.java
→
framework/src/main/java/io/geekidea/springbootplus/framework/shiro/vo/LoginUserVo.java
View file @
36121f3e
...
@@ -33,7 +33,7 @@ import java.util.Set;
...
@@ -33,7 +33,7 @@ import java.util.Set;
**/
**/
@Data
@Data
@Accessors
(
chain
=
true
)
@Accessors
(
chain
=
true
)
public
class
Login
Sys
UserVo
implements
Serializable
{
public
class
LoginUserVo
implements
Serializable
{
private
static
final
long
serialVersionUID
=
-
1758338570596088158L
;
private
static
final
long
serialVersionUID
=
-
1758338570596088158L
;
...
...
framework/src/main/java/io/geekidea/springbootplus/framework/util/LoginUtil.java
View file @
36121f3e
...
@@ -18,7 +18,7 @@ package io.geekidea.springbootplus.framework.util;
...
@@ -18,7 +18,7 @@ package io.geekidea.springbootplus.framework.util;
import
io.geekidea.springbootplus.framework.shiro.util.JwtTokenUtil
;
import
io.geekidea.springbootplus.framework.shiro.util.JwtTokenUtil
;
import
io.geekidea.springbootplus.framework.shiro.util.JwtUtil
;
import
io.geekidea.springbootplus.framework.shiro.util.JwtUtil
;
import
io.geekidea.springbootplus.framework.shiro.vo.Login
Sys
UserRedisVo
;
import
io.geekidea.springbootplus.framework.shiro.vo.LoginUserRedisVo
;
import
lombok.extern.slf4j.Slf4j
;
import
lombok.extern.slf4j.Slf4j
;
import
org.apache.commons.lang3.StringUtils
;
import
org.apache.commons.lang3.StringUtils
;
import
org.springframework.data.redis.core.RedisTemplate
;
import
org.springframework.data.redis.core.RedisTemplate
;
...
@@ -47,7 +47,7 @@ public class LoginUtil {
...
@@ -47,7 +47,7 @@ public class LoginUtil {
*
*
* @return
* @return
*/
*/
public
static
Login
Sys
UserRedisVo
getLoginSysUserRedisVo
()
{
public
static
LoginUserRedisVo
getLoginSysUserRedisVo
()
{
// 获取当前登录用户
// 获取当前登录用户
String
token
=
JwtTokenUtil
.
getToken
();
String
token
=
JwtTokenUtil
.
getToken
();
String
username
=
JwtUtil
.
getUsername
(
token
);
String
username
=
JwtUtil
.
getUsername
(
token
);
...
@@ -56,7 +56,7 @@ public class LoginUtil {
...
@@ -56,7 +56,7 @@ public class LoginUtil {
}
}
// return (LoginSysUserRedisVo) redisTemplate.opsForValue().get(String.format(CommonRedisKey.LOGIN_USER, username));
// return (LoginSysUserRedisVo) redisTemplate.opsForValue().get(String.format(CommonRedisKey.LOGIN_USER, username));
Login
SysUserRedisVo
loginSysUserRedisVo
=
new
LoginSys
UserRedisVo
();
Login
UserRedisVo
loginSysUserRedisVo
=
new
Login
UserRedisVo
();
loginSysUserRedisVo
.
setUsername
(
username
);
loginSysUserRedisVo
.
setUsername
(
username
);
return
loginSysUserRedisVo
;
return
loginSysUserRedisVo
;
}
}
...
@@ -67,7 +67,7 @@ public class LoginUtil {
...
@@ -67,7 +67,7 @@ public class LoginUtil {
* @return
* @return
*/
*/
public
static
Long
getUserId
()
{
public
static
Long
getUserId
()
{
Login
Sys
UserRedisVo
loginSysUserRedisVo
=
getLoginSysUserRedisVo
();
LoginUserRedisVo
loginSysUserRedisVo
=
getLoginSysUserRedisVo
();
if
(
loginSysUserRedisVo
==
null
)
{
if
(
loginSysUserRedisVo
==
null
)
{
return
null
;
return
null
;
}
}
...
@@ -80,7 +80,7 @@ public class LoginUtil {
...
@@ -80,7 +80,7 @@ public class LoginUtil {
* @return
* @return
*/
*/
public
static
String
getUsername
()
{
public
static
String
getUsername
()
{
Login
Sys
UserRedisVo
loginSysUserRedisVo
=
getLoginSysUserRedisVo
();
LoginUserRedisVo
loginSysUserRedisVo
=
getLoginSysUserRedisVo
();
if
(
loginSysUserRedisVo
==
null
)
{
if
(
loginSysUserRedisVo
==
null
)
{
return
null
;
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