Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
X
xyqb-user2
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
head_group
xyqb-user2
Commits
9ad06d45
Commit
9ad06d45
authored
Jan 05, 2023
by
王亮
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
add records list.
parent
100b82df
Changes
9
Show whitespace changes
Inline
Side-by-side
Showing
9 changed files
with
71 additions
and
102 deletions
+71
-102
Bootstrap.java
src/main/java/cn/quantgroup/xyqb/Bootstrap.java
+2
-0
MyWebMvcConfigurer.java
...va/cn/quantgroup/xyqb/config/http/MyWebMvcConfigurer.java
+26
-20
InnerController.java
...tgroup/xyqb/controller/internal/user/InnerController.java
+36
-10
UserDisableRecord.java
...ain/java/cn/quantgroup/xyqb/entity/UserDisableRecord.java
+3
-1
UserDisableRecordEvent.java
...java/cn/quantgroup/xyqb/event/UserDisableRecordEvent.java
+1
-1
TokenInterceptor.java
...main/java/cn/quantgroup/xyqb/filter/TokenInterceptor.java
+0
-66
LoginUserContext.java
src/main/java/cn/quantgroup/xyqb/model/LoginUserContext.java
+0
-2
StmsRemoteService.java
...ain/java/cn/quantgroup/xyqb/remote/StmsRemoteService.java
+1
-1
IUserDisableRecordRepository.java
...ntgroup/xyqb/repository/IUserDisableRecordRepository.java
+2
-1
No files found.
src/main/java/cn/quantgroup/xyqb/Bootstrap.java
View file @
9ad06d45
...
...
@@ -7,6 +7,7 @@ import org.springframework.boot.autoconfigure.SpringBootApplication;
import
org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration
;
import
org.springframework.boot.context.properties.EnableConfigurationProperties
;
import
org.springframework.cache.annotation.EnableCaching
;
import
org.springframework.cloud.netflix.feign.EnableFeignClients
;
import
org.springframework.context.annotation.ComponentScan
;
import
org.springframework.context.annotation.EnableAspectJAutoProxy
;
import
org.springframework.scheduling.annotation.EnableAsync
;
...
...
@@ -24,6 +25,7 @@ import org.springframework.scheduling.annotation.EnableAsync;
@EnableAspectJAutoProxy
@SpringBootApplication
(
exclude
=
{
DataSourceAutoConfiguration
.
class
})
@EnableConfigurationProperties
({
SequencerProperties
.
class
})
@EnableFeignClients
public
class
Bootstrap
{
public
static
void
main
(
String
[]
args
)
{
...
...
src/main/java/cn/quantgroup/xyqb/config/http/MyWebMvcConfigurer.java
View file @
9ad06d45
...
...
@@ -21,6 +21,7 @@ public class MyWebMvcConfigurer extends WebMvcConfigurerAdapter {
/**
* 快速校验参数. 第一个出错后面的不用再校验了
*
* @return
*/
@Bean
...
...
@@ -34,4 +35,9 @@ public class MyWebMvcConfigurer extends WebMvcConfigurerAdapter {
postProcessor
.
setValidator
(
validator
);
return
postProcessor
;
}
// @Override
// public void addInterceptors(InterceptorRegistry registry) {
// registry.addInterceptor(new TokenInterceptor()).addPathPatterns("/innerapi/user/**");
// }
}
\ No newline at end of file
src/main/java/cn/quantgroup/xyqb/controller/internal/user/InnerController.java
View file @
9ad06d45
...
...
@@ -14,6 +14,7 @@ import cn.quantgroup.xyqb.exception.UserNotExistException;
import
cn.quantgroup.xyqb.model.Gender
;
import
cn.quantgroup.xyqb.model.IdType
;
import
cn.quantgroup.xyqb.model.*
;
import
cn.quantgroup.xyqb.remote.StmsRemoteService
;
import
cn.quantgroup.xyqb.repository.IUserDisableRecordRepository
;
import
cn.quantgroup.xyqb.service.api.IUserApiService
;
import
cn.quantgroup.xyqb.service.auth.IIdCardService
;
...
...
@@ -40,6 +41,8 @@ import org.apache.commons.lang3.math.NumberUtils;
import
org.apache.http.HttpStatus
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.context.ApplicationEventPublisher
;
import
org.springframework.data.domain.PageRequest
;
import
org.springframework.data.domain.Pageable
;
import
org.springframework.util.CollectionUtils
;
import
org.springframework.validation.annotation.Validated
;
import
org.springframework.web.bind.annotation.*
;
...
...
@@ -92,14 +95,15 @@ public class InnerController implements IBaseController {
@Autowired
private
ISmsService
smsService
;
@Autowired
private
LoginUserContext
loginUserContext
;
@Autowired
private
IUserRegisterService
userRegisterService
;
@Resource
private
ApplicationEventPublisher
applicationEventPublisher
;
@Resource
private
CleanDataService
cleanDataService
;
@Autowired
private
StmsRemoteService
stmsRemoteService
;
@Autowired
private
ITenantService
tenantService
;
...
...
@@ -1368,12 +1372,15 @@ public class InnerController implements IBaseController {
* @return
*/
@RequestMapping
(
path
=
"/user/active"
,
method
=
RequestMethod
.
POST
)
public
JsonResult
activeUser
(
Long
userId
)
{
public
JsonResult
activeUser
(
Long
userId
,
@RequestHeader
(
value
=
"Access-Token"
,
required
=
false
)
String
accessToken
)
{
boolean
flushed
=
flushUserStatus
(
userId
,
true
);
UserDisableRecord
userDisableRecord
=
new
UserDisableRecord
();
userDisableRecord
.
setUserId
(
userId
);
if
(
StringUtils
.
isNotEmpty
(
accessToken
)){
LoginUserContext
loginUserContext
=
getLoginUserContextFromStms
(
accessToken
);
userDisableRecord
.
setCreatedBy
(
loginUserContext
.
getUserName
());
userDisableRecord
.
setUpdatedBy
(
loginUserContext
.
getUserName
());
}
userDisableRecord
.
setOperation_type
((
short
)
1
);
applicationEventPublisher
.
publishEvent
(
new
UserDisableRecordEvent
(
this
,
userDisableRecord
));
log
.
info
(
"激活/启用 用户,userId:[{}],result:[{}]"
,
userId
,
flushed
);
...
...
@@ -1388,12 +1395,15 @@ public class InnerController implements IBaseController {
* @return
*/
@RequestMapping
(
path
=
"/user/disable"
,
method
=
RequestMethod
.
POST
)
public
JsonResult
forbiddenUser
(
Long
userId
,
String
reason
)
{
public
JsonResult
forbiddenUser
(
Long
userId
,
String
reason
,
@RequestHeader
(
value
=
"Access-Token"
,
required
=
false
)
String
accessToken
)
{
boolean
flushed
=
flushUserStatus
(
userId
,
false
);
UserDisableRecord
userDisableRecord
=
new
UserDisableRecord
();
userDisableRecord
.
setUserId
(
userId
);
if
(
StringUtils
.
isNotEmpty
(
accessToken
)){
LoginUserContext
loginUserContext
=
getLoginUserContextFromStms
(
accessToken
);
userDisableRecord
.
setCreatedBy
(
loginUserContext
.
getUserName
());
userDisableRecord
.
setUpdatedBy
(
loginUserContext
.
getUserName
());
}
userDisableRecord
.
setReason
(
reason
);
userDisableRecord
.
setOperation_type
((
short
)
0
);
applicationEventPublisher
.
publishEvent
(
new
UserDisableRecordEvent
(
this
,
userDisableRecord
));
...
...
@@ -1407,10 +1417,26 @@ public class InnerController implements IBaseController {
* @return List<UserDisableRecord>
*/
@RequestMapping
(
path
=
"/user/records/{userId}"
,
method
=
RequestMethod
.
POST
)
public
JsonResult
disableRecordList
(
@PathVariable
(
"userId"
)
Long
userId
){
return
JsonResult
.
buildSuccessResultGeneric
(
iUserDisableRecordRepository
.
findByUserId
(
userId
));
public
JsonResult
disableRecordList
(
@PathVariable
(
"userId"
)
Long
userId
,
@RequestParam
(
"page"
)
int
page
,
@RequestParam
(
"size"
)
int
size
){
Pageable
pageable
=
new
PageRequest
(
page
,
size
);
return
JsonResult
.
buildSuccessResultGeneric
(
iUserDisableRecordRepository
.
findByUserIdOrderByCreatedAtDesc
(
userId
,
pageable
));
}
private
LoginUserContext
getLoginUserContextFromStms
(
String
accessToken
){
LoginUserContext
loginUserContext
=
new
LoginUserContext
();
OauthResult
oauthResult
=
stmsRemoteService
.
checkToken
(
accessToken
);
if
(
oauthResult
==
null
||
!
Objects
.
equals
(
2000
,
oauthResult
.
getCode
()))
{
throw
new
UserNotExistException
(
"stms用户异常,请检查token"
);
}
else
{
LinkedHashMap
onlineUser
=
(
LinkedHashMap
)
oauthResult
.
getData
();
loginUserContext
.
setUserId
(
onlineUser
.
get
(
"id"
).
toString
());
loginUserContext
.
setUserName
(
String
.
valueOf
(
onlineUser
.
get
(
"account"
)));
}
return
loginUserContext
;
}
/**
* 重置用户实名信息接口
* -- 供内部系统免密调用
...
...
src/main/java/cn/quantgroup/xyqb/entity/UserDisableRecord.java
View file @
9ad06d45
...
...
@@ -2,11 +2,13 @@ package cn.quantgroup.xyqb.entity;
import
java.io.Serializable
;
import
javax.persistence.Column
;
import
javax.persistence.Entity
;
import
javax.persistence.Table
;
import
lombok.Data
;
@Data
@Entity
@Table
(
name
=
"user_disable_record"
)
public
class
UserDisableRecord
extends
BaseEntity
implements
Serializable
{
@Column
(
name
=
"user_id"
)
...
...
@@ -21,6 +23,6 @@ public class UserDisableRecord extends BaseEntity implements Serializable {
@Column
(
name
=
"created_by"
)
private
String
createdBy
;
@Column
(
name
=
"updated_
at
"
)
@Column
(
name
=
"updated_
by
"
)
private
String
updatedBy
;
}
src/main/java/cn/quantgroup/xyqb/event/UserDisableRecordEvent.java
View file @
9ad06d45
...
...
@@ -15,7 +15,7 @@ public class UserDisableRecordEvent extends ApplicationEvent {
public
UserDisableRecordEvent
(
Object
source
,
UserDisableRecord
userDisableRecord
)
{
super
(
source
);
userDisableRecord
=
userDisableRecord
;
this
.
userDisableRecord
=
userDisableRecord
;
}
}
\ No newline at end of file
src/main/java/cn/quantgroup/xyqb/filter/TokenInterceptor.java
deleted
100644 → 0
View file @
100b82df
package
cn
.
quantgroup
.
xyqb
.
filter
;
import
cn.hutool.extra.spring.SpringUtil
;
import
cn.quantgroup.xyqb.model.LoginUserContext
;
import
cn.quantgroup.xyqb.model.OauthResult
;
import
cn.quantgroup.xyqb.remote.StmsRemoteService
;
import
java.util.ArrayList
;
import
java.util.LinkedHashMap
;
import
java.util.List
;
import
java.util.Objects
;
import
javax.servlet.http.HttpServletRequest
;
import
javax.servlet.http.HttpServletResponse
;
import
lombok.extern.slf4j.Slf4j
;
import
org.apache.commons.lang3.StringUtils
;
import
org.springframework.web.servlet.HandlerInterceptor
;
import
org.springframework.web.servlet.ModelAndView
;
@Slf4j
public
class
TokenInterceptor
implements
HandlerInterceptor
{
private
final
LoginUserContext
loginUserContext
;
private
final
StmsRemoteService
stmsRemoteService
;
private
final
List
<
String
>
includes
=
new
ArrayList
<>();
public
TokenInterceptor
()
{
this
.
loginUserContext
=
SpringUtil
.
getBean
(
LoginUserContext
.
class
);
this
.
stmsRemoteService
=
SpringUtil
.
getBean
(
StmsRemoteService
.
class
);
includes
.
add
(
"/innerapi/user/disable"
);
includes
.
add
(
"/innerapi/user/active"
);
}
@Override
public
boolean
preHandle
(
HttpServletRequest
request
,
HttpServletResponse
response
,
Object
handler
)
throws
Exception
{
if
(
includes
.
contains
(
request
.
getRequestURI
()))
{
String
accessToken
=
request
.
getHeader
(
"Access-Token"
);
//原有的拦截器判断逻辑
if
(
StringUtils
.
isNotEmpty
(
accessToken
))
{
OauthResult
oauthResult
=
stmsRemoteService
.
checkToken
(
accessToken
);
if
(
oauthResult
==
null
||
!
Objects
.
equals
(
2000
,
oauthResult
.
getCode
()))
{
return
false
;
}
else
{
LinkedHashMap
onlineUser
=
(
LinkedHashMap
)
oauthResult
.
getData
();
loginUserContext
.
setUserId
(
onlineUser
.
get
(
"id"
).
toString
());
loginUserContext
.
setUserName
(
String
.
valueOf
(
onlineUser
.
get
(
"account"
)));
}
}
}
return
true
;
}
@Override
public
void
postHandle
(
HttpServletRequest
request
,
HttpServletResponse
response
,
Object
handler
,
ModelAndView
modelAndView
)
throws
Exception
{
}
@Override
public
void
afterCompletion
(
HttpServletRequest
request
,
HttpServletResponse
response
,
Object
handler
,
Exception
ex
)
throws
Exception
{
}
}
\ No newline at end of file
src/main/java/cn/quantgroup/xyqb/model/LoginUserContext.java
View file @
9ad06d45
...
...
@@ -2,9 +2,7 @@ package cn.quantgroup.xyqb.model;
import
lombok.Data
;
import
org.springframework.stereotype.Component
;
import
org.springframework.web.context.annotation.RequestScope
;
@RequestScope
@Component
@Data
public
class
LoginUserContext
{
...
...
src/main/java/cn/quantgroup/xyqb/remote/StmsRemoteService.java
View file @
9ad06d45
...
...
@@ -5,7 +5,7 @@ import org.springframework.cloud.netflix.feign.FeignClient;
import
org.springframework.web.bind.annotation.PostMapping
;
import
org.springframework.web.bind.annotation.RequestHeader
;
@FeignClient
(
name
=
"
kuaidi100"
,
url
=
"http://www.kuaidi100.com/
"
)
@FeignClient
(
name
=
"
stms"
,
url
=
"${stms.https}
"
)
public
interface
StmsRemoteService
{
@PostMapping
(
"/v2/oauth/currentuserinfo"
)
OauthResult
checkToken
(
@RequestHeader
(
"Access-Token"
)
String
accessToken
);
...
...
src/main/java/cn/quantgroup/xyqb/repository/IUserDisableRecordRepository.java
View file @
9ad06d45
...
...
@@ -2,10 +2,11 @@ package cn.quantgroup.xyqb.repository;
import
cn.quantgroup.xyqb.entity.UserDisableRecord
;
import
java.util.List
;
import
org.springframework.data.domain.Pageable
;
import
org.springframework.data.jpa.repository.JpaRepository
;
import
org.springframework.data.jpa.repository.JpaSpecificationExecutor
;
public
interface
IUserDisableRecordRepository
extends
JpaRepository
<
UserDisableRecord
,
Long
>,
JpaSpecificationExecutor
<
UserDisableRecord
>
{
List
<
UserDisableRecord
>
findByUserId
(
Long
userId
);
List
<
UserDisableRecord
>
findByUserId
OrderByCreatedAtDesc
(
Long
userId
,
Pageable
pageable
);
}
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