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
58c66812
Commit
58c66812
authored
Mar 16, 2022
by
李健华
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
kdsp添加登陆注册日志
parent
b6808b8e
Changes
7
Hide whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
212 additions
and
0 deletions
+212
-0
RecordType.java
src/main/java/cn/quantgroup/user/enums/RecordType.java
+24
-0
LoginRecord.java
src/main/java/cn/quantgroup/xyqb/entity/LoginRecord.java
+49
-0
ILoginRecordRepository.java
...cn/quantgroup/xyqb/repository/ILoginRecordRepository.java
+16
-0
UserRegisterServiceImpl.java
...p/xyqb/service/register/impl/UserRegisterServiceImpl.java
+8
-0
SessionServiceImpl.java
...ntgroup/xyqb/service/session/impl/SessionServiceImpl.java
+12
-0
ILoginRecordService.java
.../cn/quantgroup/xyqb/service/user/ILoginRecordService.java
+22
-0
LoginRecordServiceImpl.java
...tgroup/xyqb/service/user/impl/LoginRecordServiceImpl.java
+81
-0
No files found.
src/main/java/cn/quantgroup/user/enums/RecordType.java
0 → 100644
View file @
58c66812
package
cn
.
quantgroup
.
user
.
enums
;
/**
* Created by FrankChow on 15/7/15.
*/
public
enum
RecordType
{
LOGINRECORD
(
"login"
),
REGISTERRECORD
(
"register"
);
private
String
name
;
RecordType
(
String
name
)
{
this
.
name
=
name
;
}
public
String
getName
()
{
return
name
;
}
@Override
public
String
toString
()
{
return
name
;
}
}
src/main/java/cn/quantgroup/xyqb/entity/LoginRecord.java
0 → 100644
View file @
58c66812
package
cn
.
quantgroup
.
xyqb
.
entity
;
import
lombok.Data
;
import
javax.persistence.Column
;
import
javax.persistence.Entity
;
import
javax.persistence.Table
;
import
java.io.Serializable
;
/**
* Created by 11 on 2017/3/22.
*/
@Data
@Entity
@Table
(
name
=
"login_record"
)
public
class
LoginRecord
extends
BaseEntity
implements
Serializable
{
@Column
(
name
=
"user_id"
)
private
Long
userId
;
@Column
(
name
=
"type"
)
private
String
type
;
@Column
(
name
=
"qg_tenant_id"
)
private
Long
qgTenantId
;
@Column
(
name
=
"vcc_channel"
)
private
Long
vccChannel
;
@Column
(
name
=
"user_terminal"
)
private
String
userTerminal
;
@Column
(
name
=
"ip"
)
private
String
ip
;
@Column
(
name
=
"app_name"
)
private
String
appName
;
@Column
(
name
=
"version"
)
private
String
version
;
@Column
(
name
=
"user_agent"
)
private
String
userAgent
;
@Column
(
name
=
"device_id"
)
private
String
deviceId
;
@Column
(
name
=
"app_channel"
)
private
String
appChannel
;
}
src/main/java/cn/quantgroup/xyqb/repository/ILoginRecordRepository.java
0 → 100644
View file @
58c66812
package
cn
.
quantgroup
.
xyqb
.
repository
;
import
cn.quantgroup.xyqb.entity.LoginRecord
;
import
cn.quantgroup.xyqb.entity.User
;
import
org.springframework.data.jpa.repository.JpaRepository
;
import
org.springframework.data.jpa.repository.JpaSpecificationExecutor
;
import
org.springframework.data.jpa.repository.Modifying
;
import
org.springframework.data.jpa.repository.Query
;
import
org.springframework.transaction.annotation.Transactional
;
import
java.util.List
;
public
interface
ILoginRecordRepository
extends
JpaRepository
<
LoginRecord
,
Long
>,
JpaSpecificationExecutor
<
LoginRecord
>
{
}
src/main/java/cn/quantgroup/xyqb/service/register/impl/UserRegisterServiceImpl.java
View file @
58c66812
package
cn
.
quantgroup
.
xyqb
.
service
.
register
.
impl
;
import
cn.quantgroup.user.enums.RecordType
;
import
cn.quantgroup.xyqb.Constants
;
import
cn.quantgroup.xyqb.entity.Address
;
import
cn.quantgroup.xyqb.entity.Contact
;
...
...
@@ -10,6 +11,7 @@ import cn.quantgroup.xyqb.exception.UserRegisterLoginException;
import
cn.quantgroup.xyqb.model.UserRegisterParam
;
import
cn.quantgroup.xyqb.service.register.IUserDeregisterService
;
import
cn.quantgroup.xyqb.service.register.IUserRegisterService
;
import
cn.quantgroup.xyqb.service.user.ILoginRecordService
;
import
cn.quantgroup.xyqb.service.user.IUserService
;
import
cn.quantgroup.xyqb.util.DateUtils
;
import
cn.quantgroup.xyqb.util.PasswordUtil
;
...
...
@@ -40,6 +42,9 @@ public class UserRegisterServiceImpl implements IUserRegisterService {
@Resource
private
IUserService
userService
;
@Resource
private
ILoginRecordService
loginRecordService
;
@Resource
private
IUserDeregisterService
userDeregisterService
;
...
...
@@ -155,6 +160,9 @@ public class UserRegisterServiceImpl implements IUserRegisterService {
user
.
setPassword
(
PasswordUtil
.
MD5WithSalt
(
password
));
}
user
=
userService
.
saveUser
(
user
);
// 注册添加日志
loginRecordService
.
saveLoginRecord
(
user
.
getId
(),
RecordType
.
REGISTERRECORD
.
getName
());
userRegisterParam
.
setUser
(
user
);
return
user
;
}
...
...
src/main/java/cn/quantgroup/xyqb/service/session/impl/SessionServiceImpl.java
View file @
58c66812
package
cn
.
quantgroup
.
xyqb
.
service
.
session
.
impl
;
import
cn.quantgroup.user.enums.RecordType
;
import
cn.quantgroup.xyqb.Constants
;
import
cn.quantgroup.xyqb.entity.User
;
import
cn.quantgroup.xyqb.model.AuthBean
;
...
...
@@ -9,6 +10,7 @@ import cn.quantgroup.xyqb.model.session.SessionStruct;
import
cn.quantgroup.xyqb.model.session.SessionValue
;
import
cn.quantgroup.xyqb.service.session.ISessionService
;
import
cn.quantgroup.xyqb.service.session.aspect.UserBtRegisterFill
;
import
cn.quantgroup.xyqb.service.user.ILoginRecordService
;
import
cn.quantgroup.xyqb.util.MqUtils
;
import
cn.quantgroup.xyqb.util.TenantUtil
;
import
com.alibaba.fastjson.JSON
;
...
...
@@ -21,8 +23,11 @@ import org.springframework.data.redis.core.RedisTemplate;
import
org.springframework.stereotype.Service
;
import
org.springframework.util.CollectionUtils
;
import
org.springframework.util.ObjectUtils
;
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.sql.Timestamp
;
import
java.util.*
;
import
java.util.concurrent.TimeUnit
;
...
...
@@ -38,6 +43,9 @@ public class SessionServiceImpl implements ISessionService {
@Resource
private
RedisTemplate
<
String
,
String
>
stringRedisTemplate
;
@Resource
private
ILoginRecordService
loginRecordService
;
@Value
(
"${token.prefix}"
)
private
String
prefix
;
...
...
@@ -74,6 +82,10 @@ public class SessionServiceImpl implements ISessionService {
authBean
.
setUuid
(
uuid
);
authBean
.
setHasPassword
(
user
.
getHasPassword
());
log
.
info
(
"用户登录成功, loginFrom:{}, phoneNo:{},appChannel:{},channelId:{}"
,
properties
.
getCreatedFrom
(),
user
.
getPhoneNo
(),
properties
.
getAppChannel
(),
properties
.
getChannelId
());
// 添加登陆日志
loginRecordService
.
saveLoginRecord
(
user
.
getId
(),
RecordType
.
LOGINRECORD
.
getName
());
return
authBean
;
}
...
...
src/main/java/cn/quantgroup/xyqb/service/user/ILoginRecordService.java
0 → 100644
View file @
58c66812
package
cn
.
quantgroup
.
xyqb
.
service
.
user
;
import
cn.quantgroup.user.enums.RecordType
;
import
cn.quantgroup.xyqb.controller.internal.user.resp.UserFullResp
;
import
cn.quantgroup.xyqb.entity.Merchant
;
import
cn.quantgroup.xyqb.entity.User
;
import
cn.quantgroup.xyqb.model.JsonResult
;
import
cn.quantgroup.xyqb.model.LoginProperties
;
import
cn.quantgroup.xyqb.model.UserInfo
;
import
javax.servlet.http.HttpServletRequest
;
import
java.util.List
;
import
java.util.Map
;
/**
* Created by Miraculous on 15/7/5.
*/
public
interface
ILoginRecordService
{
void
saveLoginRecord
(
Long
id
,
String
name
);
}
src/main/java/cn/quantgroup/xyqb/service/user/impl/LoginRecordServiceImpl.java
0 → 100644
View file @
58c66812
package
cn
.
quantgroup
.
xyqb
.
service
.
user
.
impl
;
import
cn.quantgroup.tech.db.DSType
;
import
cn.quantgroup.tech.db.TargetDataSource
;
import
cn.quantgroup.user.enums.BizType
;
import
cn.quantgroup.user.enums.IncomeRangeEnum
;
import
cn.quantgroup.xyqb.Constants
;
import
cn.quantgroup.xyqb.aspect.lock.RedisLock
;
import
cn.quantgroup.xyqb.controller.IBaseController
;
import
cn.quantgroup.xyqb.controller.internal.user.resp.UserFullResp
;
import
cn.quantgroup.xyqb.entity.*
;
import
cn.quantgroup.xyqb.event.PhoneNoUpdateEvent
;
import
cn.quantgroup.xyqb.exception.DataException
;
import
cn.quantgroup.xyqb.exception.UserNotExistException
;
import
cn.quantgroup.xyqb.exception.UserRegisterLoginException
;
import
cn.quantgroup.xyqb.model.*
;
import
cn.quantgroup.xyqb.repository.*
;
import
cn.quantgroup.xyqb.service.register.IUserDeregisterService
;
import
cn.quantgroup.xyqb.service.register.IUserRegisterService
;
import
cn.quantgroup.xyqb.service.session.ISessionService
;
import
cn.quantgroup.xyqb.service.user.*
;
import
cn.quantgroup.xyqb.service.wechat.IWechatService
;
import
cn.quantgroup.xyqb.util.*
;
import
com.alibaba.fastjson.JSON
;
import
com.google.common.collect.Lists
;
import
com.google.common.collect.Maps
;
import
com.sensorsdata.analytics.javasdk.ISensorsAnalytics
;
import
com.sensorsdata.analytics.javasdk.bean.EventRecord
;
import
lombok.extern.slf4j.Slf4j
;
import
org.apache.commons.lang.StringUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.cache.annotation.CacheEvict
;
import
org.springframework.cache.annotation.Caching
;
import
org.springframework.context.ApplicationEventPublisher
;
import
org.springframework.data.redis.core.RedisTemplate
;
import
org.springframework.stereotype.Service
;
import
org.springframework.transaction.annotation.Transactional
;
import
org.springframework.util.CollectionUtils
;
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.*
;
import
java.util.concurrent.TimeUnit
;
import
java.util.stream.Collectors
;
/**
* Created by Miraculous on 15/7/5.
*/
@Service
@Slf4j
public
class
LoginRecordServiceImpl
implements
ILoginRecordService
,
IBaseController
{
@Autowired
private
ILoginRecordRepository
loginRecordRepository
;
@Override
public
void
saveLoginRecord
(
Long
userId
,
String
name
)
{
HttpServletRequest
request
=
((
ServletRequestAttributes
)
RequestContextHolder
.
getRequestAttributes
()).
getRequest
();
LoginRecord
loginRecord
=
new
LoginRecord
();
loginRecord
.
setUserId
(
userId
);
loginRecord
.
setType
(
name
);
String
qgTenantId
=
request
.
getHeader
(
"qg-tenant-id"
);
String
vccChannel
=
request
.
getHeader
(
"vccChannel"
);
if
(
null
!=
qgTenantId
&&
!
""
.
equals
(
qgTenantId
))
{
loginRecord
.
setQgTenantId
(
Long
.
parseLong
(
qgTenantId
));
}
if
(
null
!=
vccChannel
&&
!
""
.
equals
(
vccChannel
))
{
loginRecord
.
setVccChannel
(
Long
.
parseLong
(
vccChannel
));
}
loginRecord
.
setUserTerminal
(
request
.
getHeader
(
"x-user-terminal"
));
loginRecord
.
setIp
(
request
.
getHeader
(
"x-original-client-ip"
));
loginRecord
.
setAppName
(
request
.
getHeader
(
"appName"
));
loginRecord
.
setVersion
(
request
.
getHeader
(
"version"
));
loginRecord
.
setUserAgent
(
request
.
getHeader
(
"User-Agent"
));
loginRecord
.
setDeviceId
(
request
.
getHeader
(
"scDeviceId"
));
loginRecord
.
setAppChannel
(
request
.
getHeader
(
"appChannel"
));
loginRecordRepository
.
saveAndFlush
(
loginRecord
);
}
}
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