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
17690c4a
Commit
17690c4a
authored
Nov 19, 2021
by
李健华
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
修改登录注解拦截器的事件发送,修改注册个别方法的事件发送
parent
9cb811a7
Changes
7
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
17566 additions
and
17 deletions
+17566
-17
LoginInterceptorAspect.java
...uantgroup/xyqb/aspect/captcha/LoginInterceptorAspect.java
+22
-11
AppController.java
...antgroup/xyqb/controller/internal/user/AppController.java
+1
-3
InnerController.java
...tgroup/xyqb/controller/internal/user/InnerController.java
+1
-1
AppletServiceImpl.java
...b/service/middleoffice/applet/impl/AppletServiceImpl.java
+1
-1
IUserRegisterService.java
...uantgroup/xyqb/service/register/IUserRegisterService.java
+4
-0
UserRegisterServiceImpl.java
...p/xyqb/service/register/impl/UserRegisterServiceImpl.java
+40
-1
xyqb-user2.2021-11-18-0.log
xyqb-user2.2021-11-18-0.log
+17497
-0
No files found.
src/main/java/cn/quantgroup/xyqb/aspect/captcha/LoginInterceptorAspect.java
View file @
17690c4a
...
...
@@ -3,22 +3,21 @@ package cn.quantgroup.xyqb.aspect.captcha;
import
cn.qg.ec.model.base.BusinessEventBaseInfo
;
import
cn.qg.ec.model.user.UserLoginRegEvent
;
import
cn.quantgroup.xyqb.entity.User
;
import
cn.quantgroup.xyqb.model.AuthBean
;
import
cn.quantgroup.xyqb.risk.entity.CountDevice
;
import
cn.quantgroup.xyqb.entity.enums.Device
;
import
cn.quantgroup.xyqb.entity.enums.KeyType
;
import
cn.quantgroup.xyqb.model.AuthBean
;
import
cn.quantgroup.xyqb.model.JsonResult
;
import
cn.quantgroup.xyqb.model.LoginRefuseResult
;
import
cn.quantgroup.xyqb.risk.entity.CountDevice
;
import
cn.quantgroup.xyqb.risk.entity.LoginInfo
;
import
cn.quantgroup.xyqb.risk.repository.LoginInfoRepository
;
import
cn.quantgroup.xyqb.risk.repository.WhiteListRepository
;
import
cn.quantgroup.xyqb.risk.uereventcollecting.UserEventCollectingUtil
;
import
cn.quantgroup.xyqb.service.user.IUserService
;
import
cn.quantgroup.xyqb.
service.user.impl.UserServiceImp
l
;
import
cn.quantgroup.xyqb.
util.TenantUti
l
;
import
cn.quantgroup.xyqb.util.encrypt.Md5Util
;
import
com.a
mazonaws.util.Md5Utils
;
import
com.a
libaba.fastjson.JSON
;
import
com.google.common.collect.Maps
;
import
com.qiniu.util.Md5
;
import
lombok.extern.slf4j.Slf4j
;
import
org.aspectj.lang.ProceedingJoinPoint
;
import
org.aspectj.lang.annotation.Around
;
...
...
@@ -26,11 +25,13 @@ import org.aspectj.lang.annotation.Aspect;
import
org.aspectj.lang.annotation.Pointcut
;
import
org.springframework.core.annotation.Order
;
import
org.springframework.stereotype.Component
;
import
org.springframework.util.StreamUtils
;
import
org.springframework.web.context.request.RequestContextHolder
;
import
org.springframework.web.context.request.ServletRequestAttributes
;
import
javax.annotation.Resource
;
import
javax.servlet.http.HttpServletRequest
;
import
java.util.HashMap
;
import
java.util.Map
;
/**
...
...
@@ -89,6 +90,14 @@ public class LoginInterceptorAspect {
private
Object
around
(
ProceedingJoinPoint
pjp
)
throws
Throwable
{
HttpServletRequest
request
=
((
ServletRequestAttributes
)
RequestContextHolder
.
getRequestAttributes
()).
getRequest
();
byte
[]
bodyBytes
=
StreamUtils
.
copyToByteArray
(
request
.
getInputStream
());
String
body
=
new
String
(
bodyBytes
,
request
.
getCharacterEncoding
());
Integer
tenantId
=
null
;
if
(
body
!=
null
)
{
HashMap
hashMap
=
JSON
.
parseObject
(
body
,
HashMap
.
class
);
tenantId
=
Integer
.
parseInt
(
hashMap
.
get
(
"tenantId"
).
toString
());
}
/**
* 拿参数
*/
...
...
@@ -115,7 +124,7 @@ public class LoginInterceptorAspect {
/**
* 尝试登录发一下
*/
sendEvent
(
UserLoginRegEvent
.
SubEventType
.
user_attempt_login
,
device
,
phone
,
deviceId
,
realIp
,
null
);
sendEvent
(
UserLoginRegEvent
.
SubEventType
.
user_attempt_login
,
device
,
phone
,
deviceId
,
realIp
,
null
,
tenantId
);
LoginRefuseResult
result
=
verification
(
scDeviceId
,
phone
,
device
);
...
...
@@ -133,7 +142,7 @@ public class LoginInterceptorAspect {
/**
* 保存登录信息
*/
saveLoginInfo
(
phone
,
device
,
deviceId
,
realIp
,
result
,
loginResult
);
saveLoginInfo
(
phone
,
device
,
deviceId
,
realIp
,
result
,
loginResult
,
tenantId
);
}
return
loginResult
;
}
...
...
@@ -226,7 +235,7 @@ public class LoginInterceptorAspect {
* @param deviceId
* @param ip
*/
private
void
saveLoginInfo
(
String
phone
,
Device
device
,
String
deviceId
,
String
ip
,
LoginRefuseResult
refuseResult
,
Object
loginResult
)
{
private
void
saveLoginInfo
(
String
phone
,
Device
device
,
String
deviceId
,
String
ip
,
LoginRefuseResult
refuseResult
,
Object
loginResult
,
Integer
tenantId
)
{
try
{
/**
* 默认code不需要
...
...
@@ -269,7 +278,7 @@ public class LoginInterceptorAspect {
if
(
loginResult
instanceof
JsonResult
)
{
if
(((
JsonResult
)
loginResult
).
isSuccess
())
{
info
.
setIsLogin
(
Boolean
.
TRUE
);
sendEvent
(
UserLoginRegEvent
.
SubEventType
.
user_only_login
,
device
,
phone
,
deviceId
,
ip
,
loginResult
);
sendEvent
(
UserLoginRegEvent
.
SubEventType
.
user_only_login
,
device
,
phone
,
deviceId
,
ip
,
loginResult
,
tenantId
);
}
else
{
info
.
setIsLogin
(
Boolean
.
FALSE
);
info
.
setLoginFailMsg
(((
JsonResult
)
loginResult
)
...
...
@@ -307,7 +316,7 @@ public class LoginInterceptorAspect {
* @param ip
* @param loginResult
*/
private
void
sendEvent
(
UserLoginRegEvent
.
SubEventType
type
,
Device
device
,
String
phone
,
String
deviceId
,
String
ip
,
Object
loginResult
)
{
private
void
sendEvent
(
UserLoginRegEvent
.
SubEventType
type
,
Device
device
,
String
phone
,
String
deviceId
,
String
ip
,
Object
loginResult
,
Integer
tenantId
)
{
try
{
if
(
null
==
phone
)
{
...
...
@@ -349,7 +358,9 @@ public class LoginInterceptorAspect {
baseInfoBuilder
.
deviceType
(
device
.
getCode
());
builder
.
businessEventBaseInfo
(
baseInfoBuilder
.
build
());
UserEventCollectingUtil
.
addEvent
(
builder
.
build
());
if
(
tenantId
==
null
||
tenantId
.
equals
(
TenantUtil
.
TENANT_DEFAULT
))
{
UserEventCollectingUtil
.
addEvent
(
builder
.
build
());
}
}
catch
(
Exception
e
)
{
log
.
error
(
"发送用户登录事件异常phone:{}"
,
phone
);
}
...
...
src/main/java/cn/quantgroup/xyqb/controller/internal/user/AppController.java
View file @
17690c4a
...
...
@@ -327,9 +327,7 @@ public class AppController implements IBaseController {
return
JsonResult
.
buildErrorStateResult
(
"登录失败"
,
null
);
}
//校验租户ID tenantId
if
(
TenantUtil
.
checkoutTenantIsDefault
(
tenantId
))
{
oauthLoginInfoService
.
addLoginInfo
(
user
,
tenantId
);
}
oauthLoginInfoService
.
addLoginInfo
(
user
,
tenantId
);
LoginProperties
loginProperties
=
new
LoginProperties
(
""
,
4
,
channelId
,
registerFrom
,
appChannel
,
null
,
""
,
tenantId
);
AuthBean
bean
=
sessionService
.
createSession
(
user
,
loginProperties
);
log
.
info
(
"第三方用户登录成功 [AppController] login2 --> loginFrom:{}, phoneNo:{},appChannel:{}"
,
registerFrom
,
phoneNo
,
appChannel
);
...
...
src/main/java/cn/quantgroup/xyqb/controller/internal/user/InnerController.java
View file @
17690c4a
...
...
@@ -332,7 +332,7 @@ public class InnerController implements IBaseController {
return
JsonResult
.
buildSuccessResult
(
null
,
new
UserRet
(
user
));
}
//注册新用户
user
=
userRegisterService
.
register
(
registeredFrom
,
phoneNo
,
null
,
null
,
0L
,
0L
);
user
=
userRegisterService
.
register
(
registeredFrom
,
phoneNo
,
null
,
null
,
0L
,
0L
,
tenantId
);
//校验租户ID tenantId
iOauthLoginInfoService
.
addLoginInfo
(
user
,
tenantId
);
return
JsonResult
.
buildSuccessResult
(
null
,
new
UserRet
(
user
));
...
...
src/main/java/cn/quantgroup/xyqb/service/middleoffice/applet/impl/AppletServiceImpl.java
View file @
17690c4a
...
...
@@ -95,7 +95,7 @@ public class AppletServiceImpl implements IAppletService {
User
user
=
userService
.
findByPhoneInDb
(
appletParamEntry
.
getMobile
());
//如果不存在就去注册一下
if
(
null
==
user
)
{
user
=
iUserRegisterService
.
register
(
appletParamEntry
.
getChannelId
(),
appletParamEntry
.
getMobile
());
user
=
iUserRegisterService
.
register
(
appletParamEntry
.
getChannelId
(),
appletParamEntry
.
getMobile
()
,
appletParamEntry
.
getTenantId
()
);
}
iOauthLoginInfoService
.
addRegisterInfo
(
user
,
appletParamEntry
);
return
user
.
getId
();
...
...
src/main/java/cn/quantgroup/xyqb/service/register/IUserRegisterService.java
View file @
17690c4a
...
...
@@ -13,6 +13,8 @@ import java.util.List;
public
interface
IUserRegisterService
{
User
register
(
Long
registerFrom
,
String
phoneNo
);
User
register
(
Long
registerFrom
,
String
phoneNo
,
Integer
tenantId
);
/**
* 替换AppController.register
* /app/login,/app/login_super
...
...
@@ -27,6 +29,8 @@ public interface IUserRegisterService {
*/
User
register
(
Long
registerFrom
,
String
phoneNo
,
String
idNo
,
String
name
,
Long
channelId
,
Long
btRegisterChannelId
);
User
register
(
Long
registerFrom
,
String
phoneNo
,
String
idNo
,
String
name
,
Long
channelId
,
Long
btRegisterChannelId
,
Integer
tenantId
);
/**
* 替换UserController.register里的userService.register
...
...
src/main/java/cn/quantgroup/xyqb/service/register/impl/UserRegisterServiceImpl.java
View file @
17690c4a
...
...
@@ -9,6 +9,7 @@ import cn.quantgroup.xyqb.model.UserRegisterParam;
import
cn.quantgroup.xyqb.service.register.IUserRegisterService
;
import
cn.quantgroup.xyqb.service.user.IUserService
;
import
cn.quantgroup.xyqb.util.PasswordUtil
;
import
cn.quantgroup.xyqb.util.TenantUtil
;
import
lombok.extern.slf4j.Slf4j
;
import
org.apache.commons.lang3.StringUtils
;
import
org.springframework.context.ApplicationEventPublisher
;
...
...
@@ -16,7 +17,6 @@ import org.springframework.stereotype.Service;
import
org.springframework.transaction.annotation.Transactional
;
import
javax.annotation.Resource
;
import
java.sql.Timestamp
;
import
java.util.List
;
import
java.util.Objects
;
import
java.util.UUID
;
...
...
@@ -51,6 +51,24 @@ import java.util.UUID;
return
user
;
}
@Transactional
(
rollbackFor
=
Exception
.
class
)
@Override
public
User
register
(
Long
registerFrom
,
String
phoneNo
,
Integer
tenantId
)
{
UserRegisterParam
userRegisterParam
=
UserRegisterParam
.
builder
()
.
registerFrom
(
registerFrom
)
.
phoneNo
(
phoneNo
)
.
channelId
(
registerFrom
)
.
sendSuccessSms
(
true
)
.
sendAppSms
(
true
)
.
sendSuccessMq
(
true
)
.
build
();
User
user
=
saveUser
(
userRegisterParam
);
if
(
tenantId
==
null
||
tenantId
.
equals
(
TenantUtil
.
TENANT_DEFAULT
))
{
applicationEventPublisher
.
publishEvent
(
new
RegisterEvent
(
this
,
userRegisterParam
));
}
return
user
;
}
@Transactional
(
rollbackFor
=
Exception
.
class
)
@Override
public
User
register
(
Long
registerFrom
,
String
phoneNo
,
String
idNo
,
String
name
,
Long
channelId
,
Long
btRegisterChannelId
)
{
...
...
@@ -70,6 +88,27 @@ import java.util.UUID;
return
user
;
}
@Transactional
(
rollbackFor
=
Exception
.
class
)
@Override
public
User
register
(
Long
registerFrom
,
String
phoneNo
,
String
idNo
,
String
name
,
Long
channelId
,
Long
btRegisterChannelId
,
Integer
tenantId
)
{
UserRegisterParam
userRegisterParam
=
UserRegisterParam
.
builder
()
.
registerFrom
(
registerFrom
)
.
phoneNo
(
phoneNo
)
.
idNo
(
idNo
)
.
name
(
name
)
.
channelId
(
channelId
)
.
btRegisterChannelId
(
btRegisterChannelId
)
.
sendSuccessSms
(
true
)
.
sendAppSms
(
true
)
.
sendSuccessMq
(
true
)
.
build
();
User
user
=
saveUser
(
userRegisterParam
);
if
(
tenantId
==
null
||
tenantId
.
equals
(
TenantUtil
.
TENANT_DEFAULT
))
{
applicationEventPublisher
.
publishEvent
(
new
RegisterEvent
(
this
,
userRegisterParam
));
}
return
user
;
}
private
User
saveUser
(
UserRegisterParam
userRegisterParam
)
{
String
uuid
=
UUID
.
randomUUID
().
toString
();
User
user
=
new
User
();
...
...
xyqb-user2.2021-11-18-0.log
0 → 100644
View file @
17690c4a
This diff is collapsed.
Click to expand it.
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